我遇到了需要運行插入查詢,這可能超出了我的專業知識。你可能會看到下面,我就像一隻狗在這一點上追逐他的尾巴,我的代碼不再正確。SQL插入選擇選擇查詢
問題1:這只是沒有做我所需要的,我很難得到它與一個查詢。 問題2:它似乎對BOXES
表中的每行執行4次。
我當前的代碼:
INSERT INTO [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_BOXES_LINES]
(
[SALES_ORDER_NUMBER],
[SALES_ORDER_ID],
[SO_LINE_NUMBER],
[SO_LINE_ID],
[FINISHED_PART_NUMBER],
[QUANTITY],
[AOF_BOXES_ID]
)
SELECT
[SALES_ORDER_NUMBER],
[SALES_ORDER_ID],
[SO_LINE_NUMBER],
[SO_LINE_ID],
[FINISHED_PART_NUMBER],
0,
b.[ID]
FROM [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_ALL_ORDER_LINES] AS aoL
LEFT JOIN [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_BOXES] AS b
ON b.[SELECTED] = 'True'
WHERE EXISTS
(
SELECT oL.[SO_LINE_NUMBER] FROM [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_ORDER_OPTICS] AS oL WHERE oL.[SERIAL_NUMBER] = 'EOSBAB130004'
)
我需要INSERT INTO
數據的一行包含從幾個其他表選擇的數據。關鍵是最後的WHERE語句。我需要從[AOF_ORDER_OPTICS]
表中獲得與我提供的[SERIAL_NUMBER]
關聯的[SO_LINE_NUMBER]
。
所有幫助表示讚賞。
這是T-SQL我希望 –
能不只是:JOIN AOF_ORDER_OPTICS AS醇對aoL.SO_LINE_NUMBER = oL.SO_LINE_NUMBER和ol [SERIAL_NUMBER] = 'EOSBAB130004' –
你的鑰匙在你的陳述中重複4次。你正在用'[dbo]。[AOF_BOXES]'做一個'LEFT JOIN'。 WETHER有一個BOX或NOT,你會得到一個價值。因此重複值。 – logixologist