0
愚蠢的問題,答案可能不存在(!!!!喘氣呻吟咬牙切齒牙)SELECT TOP 1,2,從TableWithNRows 3個RowId的
我有一個選擇:
SELECT * FROM SockDrawer WHERE Color = 'red'
這導致(很多其他的結果太)3行與33896,35901,37903 行ID
我想是這樣的:
DECLARE @ROWID INT --- HOW DO I USE ARRAYS? I'll google but an example would help.
DECLARE @COUNT INT
DECLARE @LIMIT INT
SELECT * FROM SockDrawer WHERE Color = 'red'
--(Returns 3 rows. With 3 RowId's 33896, 35901, 33896)
SET @LIMIT = @@ROWCOUNT
SET @COUNT = 1
WHILE @COUNT < @LIMIT BEGIN
SET @ROWID[0] = (SELECT SockKey From SockDrawer WHERE RowID = 33896)
SET @ROWID[1] = (SELECT SockKey From SockDrawer WHERE RowID = 35901)
SET @ROWID[2] = (SELECT SockKey From SockDrawer WHERE RowID = 33896)
SET @Count = @Count + 1
END
GO
Then I need to:
SET @COUNT = 0
WHILE @COUNT < @LIMIT
BEGIN
DELETE FROM SockDrawer WHERE RowID = @ROWID[@COUNT]
END
GO
訣竅是我永遠不會知道我是在處理1行刪除還是50.
我是個傻瓜。我可以改變。如果我想。
你能解釋爲什麼這三個特定行比其他所有行的顏色='紅色'更重要嗎? –
這就是所有的行。我只需要這些ID,因爲我必須使用它們來獲取該循環內部的其他SQL。所以我需要爲每個匹配的襪子使用每個RowId。這個想法是,我有一堆垃圾箱,每天我必須平衡每個垃圾箱,所以它有每種顏色1。這可能每天發生幾次。我認爲襪子應該是一個簡單的背景。 – TooMuchToLearn
那麼,爲什麼你不說明你的實際問題(我需要刪除行,以便每個顏色只剩下一行),而不是說「如何使用數組,這裏是一些非工作代碼嘗試「? –