我想加入兩個表格(VW_ATP_DOWNLOAD_NOREQCAT和VW_MM_SALES_GRID),這兩個表格必須有共同的列1.Material 2.Size_Literal我只想要表格#2(VW_MM_SALES_GRID)中的material和size_literal - VW_MM_SALES GRID其中我加入到了下面的列:在加入查詢時獲得重複結果
材料, Technical_index, Size_literal, active_flag, size_conversion, record_date_time, nrf_sizecode, technical_index_2digits
我希望產生的是所有'A'字段,最重要的是來自'm'的尺寸字段,因爲M包含所有尺寸,其中A只包含具有現有值的尺寸 - 我希望看到所有如果'A'表中沒有值,則返回null。如果我只是運行用此材料的表,我得到的結果:
尺寸L = 45 大小M = 51
我知道有一個大小S,我需要看到的是空,所以我可以轉換成一個零值,但當我運行下面的查詢時,它只是重複所有大小的值45和51 ....有點損失。謝謝。
查詢:
SELECT A.MATERIAL,
M.SIZE_LITERAL,
AVAIL_DATE,
A.AVAIL_QTY,
A.STOCK_CATEGORY
FROM VW_ATP_DOWNLOAD_NOREQCAT A LEFT OUTER JOIN VW_MM_SALES_GRID M ON A.MATERIAL = M.MATERIAL
WHERE M.MATERIAL = 'AA2721'
AND A.STOCK_CATEGORY IN ('A60381000','A60382000')
AND A.AVAIL_DATE BETWEEN GETDATE() AND GETDATE() + 90
AND A.MATERIAL = 'AA2721'
AND M.ACTIVE_FLAG IS NOT NULL
GROUP BY A.MATERIAL,
M.SIZE_LITERAL,
AVAIL_DATE,
A.AVAIL_QTY,
A.STOCK_CATEGORY
我的結果:
AA2721大號2017年8月26日00:00:00.000 45 A60382000
AA2721大號2017年8月26日00:00:00.000 51 A60382000
AA2721中號2017年8月26日00:00:00.000 45 A60382000
AA2721中號2017年8月26日00:00:00.000 51 A60382000
AA2721小號2017年8月26日00:00:00.000 45 A60382000
AA2721小號2017年8月26日00:00:00.000 51 A60382000
當我只用 'A' 表運行:
SELECT A.MATERIAL,
A.SIZE_LITERAL,
A.DATEPART(mm,AVAIL_DATE) AS 'MONTH',
A.AVAIL_QTY,
A.STOCK_CATEGORY
FROM VW_ATP_DOWNLOAD_NOREQCAT A LEFT OUTER JOIN VW_MM_SALES_GRID M ON A.MATERIAL = M.MATERIAL
WHERE M.MATERIAL IN ('AA2721')
AND A.STOCK_CATEGORY IN ('A60381000','A60382000')
AND A.AVAIL_DATE BETWEEN GETDATE() AND GETDATE() + 90
AND A.MATERIAL ='AA2721'
我得到:
AA2721 L 8 45 A60382000
AA2721 M 8 51 A60382000
當我運行加入我得到:
AA2721 L 2017-08-26 00:00:00.000 45 A60382000
AA2721 L 2017-08-26 00:00:00.000 51 A60382000
AA2721 M 2017-08-26 00:00:00.000 45 A60382000
AA2721 M 2017-08-26 00:00:00.000 51 A60382000
AA2721 S 2017-08-26 00:00:00.000 45 A60382000
AA2721 S 2017-08-26 00:00:00.000 51 A60382000
大應該有45和中等應該有52,小,這是一個有效的si ze應該爲null,因爲它不在連接表中....不知道我做錯了什麼。謝謝! M表中的
結果瓦特/只材料中的問題:
MATERIAL TECHNICAL_INDEX SIZE_LITERAL ACTIVE_FLAG SIZE_CONVERSION_MATERIAL_ID RECORD_DATE_TIME NRF_SIZECODE TECHNICAL_INDEX_2DIGITS
------------------ --------------- ------------ ----------- --------------------------- ----------------------- ------------ -----------------------
AA2721 480 2XS NULL KC 2017-07-29 06:16:40.000 20900 21
AA2721 500 XS NULL KC 2017-07-29 06:16:40.000 20901 23
AA2721 520 S X KC 2017-07-29 06:16:40.000 20902 25
AA2721 540 M X KC 2017-07-29 06:16:40.000 20903 27
AA2721 560 L X KC 2017-07-29 06:16:40.000 20904 29
剛剛添加 - 連接的查詢上的IS NOT NULL是因爲大小網格具有「無效大小」,所以我需要將它們過濾掉。 – user3496218
它會很清楚地看到M表數據也..但我認爲你應該添加A.size_literal = M。size_literal加入條件 – Wonjin
我會嘗試大小加入 – user3496218