您好,我有3个表的内部联接
SELECT ADDRESS.NAME, ADDRESS.SURNAME, ADDRESS.PLACE,ADDRESS.TOTAL_COST_YEAR, ADDRESS.AREA, ISNULL(SUM(RENT.TO_PAY), 0) AS SumToPay, ISNULL(SUM(ORDER.AMOUNT), 0) AS SumPaid FROM ORDER
INNER JOIN ADDRESS
ON ADDRESS.IDadresa=ORDER.IDadresa
INNER JOIN RENT
on RENT.IDadresa = ORDER.IDadresa
GROUP BY ADDRESS.NAME, ADDRESS.SURNAME,ADDRESS.PLACE,ADDRESS.TOTAL_COST_YEAR,ADDRESS.AREA
它运作良好,但有时IDadresa
在表ADDRESS
中找到的值不包含其他表中的任何记录,但我仍然需要显示from的行ADDRESSES
。
我认为这是因为在RENT和ORDER列中没有该ID的任何记录。有人可以帮我改善这段代码吗?
感谢您的时间。
由于您每次都需要所有地址行,因此只能right join
在订单和地址left join
之间,地址和租金之间使用
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句