あなたがそれにJOIN条件LEFT OUTER JOIN
を使用して定義する必要があります。
SELECT
p.payment_date, p.payment_amount, p.payment_party_code,
r.receipt_date, r.receipt_amount, r.receipt_party_code
FROM
dbo.Payment p
LEFT OUTER JOIN
dbo.Receipt r ON p.payment_party_code = r.receipt_party_code
これは、SQL Server(T-SQL)のためであります。 JOIN条件(ON p.payment_party_code = r.receipt_party_code
部分)を省略すると、デカルト積が得られます。
Payment
テーブルのすべての行が表示され、Receipt
テーブルに情報がある場合は、そのテーブルも表示されます。
あなたが反対(該当する行がそれをPayment
にありません場合でもReceipt
からすべてを、)したい場合は、あなたが(Receipt
最初から選択)FROM ... LEFT OUTER JOIN
にテーブルの周りに切り替えるためにいずれかの必要がある、またはあなたが使用する必要がありますRIGHT OUTER JOIN
ですので、Receipt
からすべてを取得します。
あなたはジェフ・アトウッドによって投稿Venn diagrams of SQL JOINsで見たいと思うかもしれません - 異なるJOINの種類が本当に何をすべきか、それは非常に明確になります...
正確なコードが不完全であっても、それを投稿することはよくあります。問題は、正確な相違点を強調するために、自分のものと非常によく似た正しい解決策で回答を得ることができ、その意味では、あなたの間違いをより明確にする可能性があります。今は重要ではないかもしれませんが、将来のことを念頭に置いておきたいかもしれません。 –