假設有一個包含以下列的表t:Code int,Name nvarchar(50)。SQL查詢選擇等於或小於或大於
我想查詢表中最匹配的行爲給定的代碼c。 「最匹配的」標準(在重要性的順序排列):
- 1)選擇一個行,其代碼匹配C
- 2)選擇的行,其代碼是大於c(但很第一個)。例如,如果c = 4且t 包含1,2,3,5,6和7,我想選擇5.
- 3)選擇一行,其代碼小於c。例如,如果c = 4且t包含3,2和 1,我想選擇3.
代碼將存儲在存儲過程中。
有人可以請建議如何完成上述。
謝謝。
樣本數據和預期的結果:
1, "Name1"
2, "Name2"
4, "Name4"
5, "Name5"
If c=2, result: 2,"Name2"
If c=3, result: 4,"Name4"
if c=6, result: 5,"Name5"
發佈一些示例數據和預期的結果,您的嘗試。 –
仍然不清楚您的輸入表和輸出結果集。你能提供那個嗎? –