これらのステートメントをすべて 1 つのクエリで実行しようとしているSELECT
ので、それをさらに進めてグループ化できます。JOIN
TABLE1でそれを伝えなければならないと思います。というフィールドで JOIN する必要があると言えますITEM
。WHERE
サブクエリに2つのステートメントがあるため、何十ものJOINステートメントを試しましたが、どれもうまくいきません。
SELECT ITEM, DSI, LEADTIME,
(SELECT COUNT(ORDER_NUMBER) FROM SUBTABLE1 TR1 WHERE TRANS_DATE BETWEEN DATE_SUB(curdate(), INTERVAL 730 DAY) AND DATE_SUB(curdate(), INTERVAL 365 DAY))
as OLDORDERS,
(SELECT COUNT(ORDER_NUMBER) FROM SUBTABLE2 TR2 WHERE TRANS_DATE BETWEEN DATE_SUB(curdate(), INTERVAL 364 DAY) AND curdate())
as NEWORDERS
FROM TABLE1
表示:
ITEM | DSI | LEADTIME | OLDORDERS | NEWORDERS
PROD-1 0 1 16036 38399
PROD-2 1 0 16036 38399
PROD-3 1 1 16036 38399
繰り返しますが...サブクエリJOIN
のフィールドITEM
にそれが必要だと思いますが、これを行う方法がわかりません。アイデアはありますか?