同じ日に2つのテーブルを結合する方法:1(dummy_daily)私は次のようなデータを持つ2つのテーブル持って
TABLE
Entry storenum busidate daily_budget
1 1 2017-07-01 4000
2 1 2017-07-02 3500
3 1 2017-07-03 2000
4 1 2017-07-04 6000
5 1 2017-07-05 1500
表2(site_labour)
Lab_id storenum busidate lab_hour
1123 1 2017-07-01 128
1124 1 2017-07-02 103
1125 1 2017-07-03 114
1126 1 2017-07-04 108
1127 1 2017-07-05 118
を
これは、同じ日付の2つのテーブルを組み合わせて、の結果を与えるための現在のクエリです0とlab_hour
QUERY:
Ideal Actual storenum busidate
4000 128 1 2017-07-01
3500 128 1 2017-07-02
2000 128 1 2017-07-03
6000 128 1 2017-07-04
1500 103 1 2017-07-05
4000 103 1 2017-07-01
3500 103 1 2017-07-02
2000 103 1 2017-07-03
6000 103 1 2017-07-04
1500 103 1 2017-07-05
このデータは実際の118の終わりまで続く現在のクエリの
間違った結果:
SELECT
a.daily_budget as Ideal, c.lab_hour as Actual,
b.store_name, b.storenum,a.busidate
FROM dummy_daily a JOIN site_store b ON b.storenum=a.storenum JOIN
site_labour c ON b.storenum=c.storenum
WHERE b.storenum='1' AND
(CASE WHEN c.busidate BETWEEN '2017-07-01' AND '2017-07-05' THEN c.lab_hour ELSE 0 END)
AND (CASE WHEN a.busidate
BETWEEN '2017-07-01' AND '2017-07-05' THEN a.daily_budget ELSE 0 END)
しかし、私の現在のクエリは私に間違った結果を与えます
期待される結果
Ideal Actual storenum busidate
4000 128 1 2017-07-01
3500 103 1 2017-07-02
2000 114 1 2017-07-03
6000 108 1 2017-07-04
1500 118 1 2017-07-05
2つのテーブルを結合する際の論理についても説明できますか? –
1つのクエリ内で 'daily_budget'と 'lab_hour'を取得するには、この2つのテーブルを結合する必要があります。 – NHH
@NHH、あなたが望むものを理解できるようにサンプルデータを追加しましょう – hiule