我知道如何在表A中的每一行創建表B中的一行:SQL Server的表A中的每一行創建表B一行,並把ID表A
INSERT INTO [dbo].[TableB] SELECT 0, 5, 3, [TableAColumn] FROM [dbo].[TableA]
但我還需要將每個新的TableB行的ID放在TableA的一列中,我無法弄清楚如何做到這一點。
[編輯]我忘記提及有3個TableB ID引用到TableA,所以我不能簡單地使TableB ID與TableA相同。我想過找到最大的TableA ID並且用最大值和最大值的兩倍來抵消第二和第三TableB ID。這個問題是我不知道如何存儲查詢之間的最大值。我想我已經得到了答案,TableB在開始時將是完全空的,所以如果我在上面的INSERT SELECT語句中對TableA進行排序,那麼插入到TableB中的記錄應該在相同的順序。然後,我可以將新ID插入到TableA中,保留所有按ID排序的內容。
發佈示例數據和預期結果。 – 2010-05-31 18:14:41