我在SQL Server中很簡單的問題:SQL服務器 - 檢查特定值的記錄是否存在
用戶可以具有在表ID和插槽代表12個項目(插槽0-11)。拾取物品時,應將其放置在最低的空槽中。
我使用下面的腳本,但它的第一個使用時隙之後返回第一個空槽:
SELECT coalesce ((SELECT MIN(Slot) + 1 FROM Items N1 WHERE N1.name = 'abc'
AND NOT EXISTS(SELECT * FROM Items N2 WHERE N2.name = 'abc'
AND N2.Slot = N1.Slot + 1) AND Slot<11),0)
我需要的腳本來發現並不存在最低插槽。希望這是有道理的:)
一個例子 - 如果表包含以下記錄,這是行不通的,返回5(應該返回0):
ID Slot Name
10 3 abc
11 4 abc
有了這些數據,它不正確地返回2。
ID Slot Name
10 0 abc
11 1 abc
腳本應該返回1,因爲這是第一個未使用編號(slot)低於11
你可以張貼一些種子數據和你所期望的給予下一個值的數據,所以我們可以是你需要清楚什麼。 –
保羅:那很奇怪。如果你有3和4,你也會期望0。但我得到5。 –
我的編輯答案適合您嗎? – Akhil