我想找到比我的解決方案更有效的方法。所以這裏是問題: 我想從select語句中進行批量插入。 (背景資料:我使用MSSQL 2005)選擇的插入排除第二個,添加現有記錄中的第一個
例子:
SELECT number, amount, year, modifiedDate, itm, city, c, d, e, f.... FROM X
JOIN Y ....
所以,如果結果是
...
Num Amount Year ModifiedDate Itm City ... ...
1 100 2011 01-01-2011 2 Amsterdam .. ..
1 100 2011 01-02-2011 5 Den Haag .. ..
2 4560 2011 01-02-2011 6 Amsterdam .. ..
33 456 2010 01-02-2011 12 Leiden .. ..
22 456 2010 01-02-2011 12 Leiden .. ..
....
在目標我想有:
...
Num Amount Year ModifiedDate Itm City ... ...
1 100 2011 01-02-2011 5 Den Haag .. ..
2 4560 2011 01-02-2011 6 Amsterdam .. ..
33 456 2010 01-02-2011 12 Leiden .. ..
22 456 2010 01-02-2011 12 Leiden .. ..
....
沒有此記錄:(1 100 2011 01-01-2011 2阿姆斯特丹)
我想將這兩個中的第一個插入目標表中。我還有其他應該插入的選擇。因此,在這種情況下,我想通過modifiedDate DESC採用第一個數字,金額和年份相同的訂單。這就是我想要做的。我已經用Cursor做了一個解決方案,但是應該有更好的方法。
我還是不認爲這是足夠的信息。請顯示您的光標,以便我們可以確切地看到您在做什麼。 – 2012-01-10 15:42:24
我不張貼遊標的原因是因爲我正在尋找另一種解決方案。用光標,我已經有了答案。我想知道是否有另一種方法。我不發佈整個查詢的原因是因爲它非常複雜,但基本上這就是這個想法。我認爲現在應該是明確的。讓我知道如果它仍然不清楚。 – Ekaterina 2012-01-10 15:44:22
在這兩行之間,你如何從第二行中告訴第一行?您正在通過'modifiedDate'命令行,但這兩個具有相同的'modifiedDate'值。如果沒有其他分類標準,他們的特定順序將是任意的。 – 2012-01-10 18:51:15