[英]Left Outer Join and simple join within 3 tables
我是新手,请原谅我的无知。
临时表#all具有三列:cod,cust_name,end_date。 该表有2500行。 当下面的查询运行时,我没有得到所有的代码,但它给了我大约400行。
对于HCS_Dtl和HCIS_Hd表:两者中总会有一个匹配的行
SELECT p.cod, count(d.FormNo), SUM(d.NetAmt)
FROM #all p left outer join HCS_Dtl d on p.cod=d.Code
join HCIS_Hd h on d.FormNo=h.FormNo
WHERE
h.TimeStmp between '2015-03-01 00:00:00' and '2015-03-28 23:59:59'
GROUP BY p.cod
我需要从#all中获得这2500行,即使它们在此时间段内没有我在查询的where子句中提到的表单也是如此。 怎么可能呢?
我正在使用SQL Server 2008 R2
尝试在表HCIS_Hd
上使用LEFT JOIN
SELECT p.cod, count(d.FormNo), SUM(d.NetAmt)
FROM #all p left outer join HCS_Dtl d on p.cod=d.Code
LEFT JOIN HCIS_Hd h on d.FormNo=h.FormNo
WHERE
h.TimeStmp between '2015-03-01 00:00:00' and '2015-03-28 23:59:59'
GROUP BY p.cod
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.