2つのSQL文を結合する必要があり、両方の文はそれ自身で動作します。しかし、私は両方を1つのSQL文に結合する方法を知らない。複数のSELECT SQL文への結合(4つの表)
私は最初の声明に2つのテーブル、TR120
とTR1201
を持っています。
SQLはこれです:
select
PRODUCT, PRICE, QUANTITY, INVOICE.DATE
from
TR1201
left join
(select
DATE, ID as INVOICE_ID, INVOICE
from TR120) as INVOICE on INVOICE.INVOICE_ID = ID
where
INVOICE.DATE >= '2016-06-01' and INVOICE.DATE <= '2016-06-30'
これは、30から06まで01-06-16から特定の時間枠での販売の価格、数量と日付で、私が販売するすべての製品のリストを返します。 -16。
今、最初のSQLステートメントの製品と発売日に基づいて、異なる2つのテーブルTR100
とTR1001
の製品を購入した最新の価格を調べる必要があります。
select
PRODUCT, PRICE, SUP.DATE
from
TR1001
left join
(select
DATE, ID as SUP_ID, SUP_INVOICE
from TR100) as SUP on SUP.SUP_ID = ID
これは、価格と日付で購入したすべての製品のリストを返します。私は購入した製品と日付に基づいて、このクエリの最後のレコードしか必要としません。
TR120
ID | INVOICE | DATE
1 | 000001 |2016-06-05
2 | 000002 |2016-06-15
3 | 000003 |2016-06-25
TR1201
ID | PRODUCT | PRICE A | QUANTITY
1 | A | 2,00 | 5
2 | A | 2,00 | 2
3 | A | 2,00 | 1
TR100
ID | SUP_INVOICE | DATE
1 | 160001 | 2016-05-30
2 | 160002 | 2016-06-16
TR1001
ID | PRODUCT | PRICE B
1 | A | 0,5
2 | A | 0,7
は私が取得しようとしていた結果がこれです:
PRODUCT | PRICE A (tr1201) | QUANTITY | DATE (tr100) | PRICE B (tr1001)
A | 2 | 5 | 2016-05-30 | 0,5
A | 2 | 2 | 2016-05-15 | 0,5
A | 2 | 1 | 2016-05-16 | 0,7
私がやり:(
に参加するaswellありがとう!!!私は両方の例を試し、結果を報告します。 – HEki