三个表关联查询,SQL语句该怎么写

lxbgg 2012-11-26 04:19:26
比如我有三个表

表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
...全文
6480 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangshuai84252740 2012-11-26
  • 打赏
  • 举报
回复
2楼正解
引用 2 楼 conan8126 的回复:
SELECT B.*,C.* FROM B INNER JOIN C ON B.ID=C.ID WHERE B.ID IN(SELECT ID FROM A WHERE NAME='"+name+"')
域yy 2012-11-26
  • 打赏
  • 举报
回复
distinct。。。。这个是重点。select distinct ****
conan8126 2012-11-26
  • 打赏
  • 举报
回复
SELECT B.*,C.* FROM B INNER JOIN C ON B.ID=C.ID WHERE B.ID IN(SELECT ID FROM A WHERE NAME='"+name+"')
  • 打赏
  • 举报
回复
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

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧