0
我是新来的疑问,所以原谅我的无知。左外部加入和简单加入3个表内
临时表#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子句中提到。这怎么可能?
我使用的,如果你想在#ALL全行然后取出其中的条件,然后加入SQL Server 2008 R2的
使用
LEFT JOIN
意味着它作为内部联接“加入HCIS_Hd h on d.FormNo = h.FormNo'将它作为左连接 – mohan111 2015-03-31 11:46:42@ mohan111对不起,我没有明白你的意思。你的意思是我改变了吗? FROM p.cod = d.Code FROM #all p left outer join HCS_Dtl d d.FormNo = h。 '2015-03-01 00:00:00'和'2015-03-28 23:59:59'之间的FormNo和h.TimeStmp' GROUP BY p.cod – xaahir 2015-03-31 18:04:47