Select a.商品貨號, a.訂貨數量, b.配達單號, b.實際到貨日, b.預定配達日, b.樓層, b.物流人員, b.備註
From 門市配達表頭檔 As b, 門市配達明細檔 As a
Where
(b.實際到貨日 Between '2018/01/01' And '2018/01/31'
Or b.預定配達日 Between '2018/01/01' And '2018/01/31')
And a.商品貨號 = '0003732'
小弟欲將 "b.實際到貨日" 或是 "b.預定配達日"為2018一月份,
而且"a.商品貨號 = '0003732'"的資料撈出來,
結果查出來的資料,多出了N筆"商品貨號"為0003732的資料,
而且"數量"欄位還自己填入不對(不該有)的數字,
於是隨便找了一張單號為10701020001去驗證,
此單根本沒有0003732這個貨號,資料不知道怎麼來的,
而且撈出2萬多筆資料太多了,
請問這串語法要修正的是WHERE嗎?或是??
Select a.商品貨號, a.訂貨數量, b.配達單號, b.實際到貨日, b.預定配達日, b.樓層, b.物流人員, b.備註
From 門市配達表頭檔 As b left join 門市配達明細檔 As a on a.單號=b.單號
Where
(b.實際到貨日 Between '2018/01/01' And '2018/01/31'
Or b.預定配達日 Between '2018/01/01' And '2018/01/31')
And a.商品貨號 = '0003732'
說明:
二個TABLE 間沒有 JOIN 所造成的
建議標題改一下, "SQL撈出奇怪的資料?"
如果是IT專業人員可用 "SQL撈出的資料與規劃的不相符"。