ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » MS SQL Server » 急!这个SQL语句该怎么写才对(LEFT JOIN) 多谢!

标题: 急!这个SQL语句该怎么写才对(LEFT JOIN) 多谢!
离线 dreamflysky



精华贴数 0
个人空间 0
技术积分 17 (62037)
社区积分 0 (1702544)
注册日期 2008-5-5
论坛徽章:0
      
      

发表于 2008-9-4 13:18 
急!这个SQL语句该怎么写才对(LEFT JOIN) 多谢!

学习SQL语句没多长时间
稍微复杂点的就不会写了
SQL高手们帮帮忙吧
多谢了!

问题如下:
A表的字段a通过left join语句与B表的字段b联系;
B表的字段b通过left join语句与C表字段c联系;
C表的字段c通过left join语句与D表字段d联系。
希望编写一个查询语句,能够实现输入任何一个字段,便可查处其他的字段信息

不知我的意思表达清楚了没有,
多谢大家!
比较急!谢谢!


只看该作者    顶部
离线 yingchong
初级会员



精华贴数 0
个人空间 0
技术积分 88 (18559)
社区积分 0 (344747)
注册日期 2005-4-11
论坛徽章:0
      
      

发表于 2008-9-4 13:21 
没明白,要查询其他的字段的什么信息?资料?输入任何一个字段是什么意思?


只看该作者    顶部
离线 dreamflysky



精华贴数 0
个人空间 0
技术积分 17 (62037)
社区积分 0 (1702544)
注册日期 2008-5-5
论坛徽章:0
      
      

发表于 2008-9-4 13:32 
恩 看来表达水平太差了
举个例子也就是
假设四张表分别是A、B、C、D
select A_a from A
left join B on A_a=B_b

select  B_b from B
left join C onC_c=B_b

slect C_c from C
left join D on D_d=C_c

我想请教的就是如何将这三个语句联系到一起,得到结果为:
如果输入A_a、B_b、C_c、D_d中任何一个字段的值,就能查处其他三个字段的值

希望自己表达明白了  多谢!


只看该作者    顶部
离线 yingchong
初级会员



精华贴数 0
个人空间 0
技术积分 88 (18559)
社区积分 0 (344747)
注册日期 2005-4-11
论坛徽章:0
      
      

发表于 2008-9-4 13:45 
select A.a,B.b,C.c,D.d from A
left join B on A.a=B.b
left join C onC.c=B.b
left join D on D.d=C.c
where A.a=?(或者B.b=?)
是这个意思吧?


只看该作者    顶部
离线 dreamflysky



精华贴数 0
个人空间 0
技术积分 17 (62037)
社区积分 0 (1702544)
注册日期 2008-5-5
论坛徽章:0
      
      

发表于 2008-9-4 13:57 
是这个意思  
好像可以的  这么简单
我想的复杂了  我一直认为C表只能和B表左连接
如果都写在后面好像其他表都是和A表左连接一样~
多谢  看来连接方面的语句自己很不扎实
谢谢!


只看该作者    顶部
离线 dreamflysky



精华贴数 0
个人空间 0
技术积分 17 (62037)
社区积分 0 (1702544)
注册日期 2008-5-5
论坛徽章:0
      
      

发表于 2008-9-4 14:07 
但是出现了一个问题
由于表A的一个字段对应表B字段的多个值
有很多重复的地方
结果会如下:
A001    B001   C001    D001
A001   B001   C001     D001
……
A001   B002   C001    D001
A001   B002   C001    D001
……
A001   B003   C001    D001
A001   B003   C001    D001
……

语句中加上distinct就可以了
但不是很明白为什么会出现这么多重复的?
原理不清楚


只看该作者    顶部
离线 yingchong
初级会员



精华贴数 0
个人空间 0
技术积分 88 (18559)
社区积分 0 (344747)
注册日期 2005-4-11
论坛徽章:0
      
      

发表于 2008-9-4 14:11 
只要你某一个表里面的连接字段的值不是唯一的,就会出现重复


只看该作者    顶部
离线 dreamflysky



精华贴数 0
个人空间 0
技术积分 17 (62037)
社区积分 0 (1702544)
注册日期 2008-5-5
论坛徽章:0
      
      

发表于 2008-9-4 14:18 


QUOTE:
原帖由 yingchong 于 2008-9-4 14:11 发表
只要你某一个表里面的连接字段的值不是唯一的,就会出现重复

恩  是的 你说的很对
明白了  多谢yingchong!!


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问