读书人

多表结合查询请问

发布时间: 2014-01-25 22:37:26 作者: rapoo

多表结合查询请教
这样吗?

SELECT  a.* ,
ISNULL(b.YfLxMoeny, 0) AS YfLxMoeny,c.bmName
FROM CkInfo AS a
LEFT JOIN ( SELECT x_KxPzh ,
YfLxMoeny
FROM CkLxInfo
GROUP BY x_KxPzh
) AS b ON a.Pzh = b.x_KxPzh
LEFT JOIN [LOGIN] c ON a.czyName=c.czyName
WHERE a.shenhe = 1 AND c.bmName='业务部'

[解决办法]

使用left join 语法关联即可,比如, 并不建议使用czyName来关联使用code会好些...
select t.*,l.*
from (
select a.*,ISNULL(b.YfLxMoeny ,0) AS YfLxMoeny from CkInfo as a left join
(Select x_KxPzh,YfLxMoeny From CkLxInfo Group by x_KxPzh)
as b on a.Pzh=b.x_KxPzh where a.shenhe=1) t left join login l
on t.czyName = l.czyName

[解决办法]

Select x_KxPzh,YfLxMoeny
From CkLxInfo
Group by x_KxPzh

LZ的原语句有问题吧? 子查询的这句应该是无法执行的.

读书人网 >SQL Server

热点推荐