0

テーブルを他の2つのテーブルに外部結合して、結合されたテーブルの両方を参照しようとしています。例えば:

table1 = order_header
table2 = order_line
table3 = inventory

したがって、特定の注文を取得する必要があるため、order_header と order_line を確認し、存在しない可能性のある在庫レコードを取得する必要があります (ここで外部結合すると考えられます)。問題は、在庫が存在するかどうかを確認できる唯一の方法は、order_header と order_line の両方を調べて在庫と照合することです。

order_header.location = inventory.location
order_line.product = inventory.product

しかし、order_header と order_line の両方の詳細を参照して在庫を外部結合できますか?

説明が下手で申し訳ありませんが、助けていただければ幸いです。

ありがとう。

ジリアン。

4

1 に答える 1

0

これを試して :

SELECT * FROM order_header
INNER JOIN order_line ON order_header.header_id = order_line.header_id
LEFT OUTER JOIN inventory ON order_line.product = inventory.product AND order_header.location = inventory.location
WHERE order_header.header_id = xxx

order_header と order_line の間の最初の内部結合は 1 つのテーブルと見なすことができるため、これは機能します。

于 2013-01-16T11:01:11.003 に答える