首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

三个表关联查询,SQL语句该如何写

2012-12-18 
三个表关联查询,SQL语句该怎么写比如我有三个表表AIDNAME表BIDAddresstell表CIDTime其中ID是相关联的,ID是

三个表关联查询,SQL语句该怎么写
比如我有三个表

表A

ID  NAME

表B

ID  Address  tell

表C

ID  Time

其中ID是相关联的,ID是表A的主键,其他表的外键,我现在想输入一个姓名去查询表A的ID,然后根据ID区查询其他两个表的地址,电话和时间,结果倒是可以查询出来,但是很多结果是重复的,有什么问题呢?

select a.id,a.name,b.id,b.address,b.tell,c.id,c.time from 表A a,表B b,表C c where name='"+name+"'and a.id=b.id and b.id=c.id and c.id=a.id

[最优解释]
select distinct a.id,a.name,b.address,b.tell,c.time from 表A a,表B b,表C c where name='"+name+"'and a.id=b.id and a.id=c.id
[其他解释]
SELECT B.*,C.* 
  FROM B INNER JOIN C ON B.ID=C.ID
 WHERE B.ID IN(SELECT ID FROM A WHERE NAME='"+name+"')
[其他解释]
distinct。。。。这个是重点。select distinct ****
[其他解释]
2楼正解

引用:
SELECT B.*,C.* 
  FROM B INNER JOIN C ON B.ID=C.ID
 WHERE B.ID IN(SELECT ID FROM A WHERE NAME='"+name+"')

热点排行