Я не уверен на человеческом языке, что этот запрос в конечном итоге будет делать в SQL Server.
Идея состоит в том, что если в обеих таблицах #Temp и #TempDuplPos существует порядок с суммой X, его следует удалить.из таблицы # Temp.
DELETE #Temp
FROM #Temp
INNER JOIN #TempDuplPos ON (#Temp.[OrderNumber] = #TempDuplPos.[OrderNumber])
AND (#Temp.[Amount] = #TempDuplPos.[Amount])
Что я сделал, чтобы проверить следующее:
SELECT 1 AS OrderNumber, 10 AS Amount
INTO #Temp
SELECT 1 AS OrderNumber, 10 AS Amount
INTO #TempDuplPos
INSERT INTO #Temp
VALUES (2,20)
INSERT INTO #TempDuplPos
VALUES (3,30)
DELETE #Temp
FROM #Temp
INNER JOIN #TempDuplPosON (#Temp.[OrderNumber] = #TempDuplPos.[OrderNumber])
AND (#Temp.[Amount] = #TempDuplPos.[Amount])
SELECT *
FROM #Temp
SELECT *
FROM #TempDuplPos
DROP TABLE #Temp
DROP TABLE #TempDuplPos
Похоже, что это делает работу, но я не уверен, что упустил что-то, что будетударил меня в большом наборе данных.Итак, мой вопрос, этот запрос делает то, что я хочу?Если нет, что он делает?Спасибо!