0
我有三个表,invoice i
,trans t
和arnotes a
。所有三个表都有一列reference_num
。记录将存在于i
,t
以及有时为a
。我想拉i
和t
中的所有记录,并且如果它在a
中有记录,则显示第reason
列中的数据。SQL左连接导致记录不从第二个表中提取
另外,我只想要DISTINCT结果。我目前有以下内容,但它只返回所有三个中存在的记录。如果a中没有记录,它不会从i
和t
中提取记录,并且显示为reason
的记录为空,但记录完全没有被取消。有什么协助吗?
SELECT DISTINCT i.BT_ID,
i.ST_ID,
i.REFERENCE_NUM,
i.INVOICE_DATE,
i.BALANCE,
t.GL_ACCOUNT,
a.REASON
FROM Invoice i
INNER JOIN Trans t ON i.REFERENCE_NUM = t.INVOICE_REFERENCE_NUM
LEFT OUTER JOIN ARNOTES a ON t.INVOICE_REFERENCE_NUM = a.INVOICE_NUM
WHERE (i.BALANCE > 0)
AND (t.GL_ACCOUNT <> '')
AND (t.TRANSACTION_TYPE = 'dist')
AND (NOT (a.REASON LIKE '%COLLECTIONS%'))
啊哈!那样做了。谢谢! –