0
假設我有一個可以包含一個或多個值的結果集,但是我總是隻希望結果中有一個值,而具體的值比其他值更有價值。如何在SQL中創建我的結果集的習慣性排名?
我將如何在sql中解決這個問題,以便我可以在子查詢中使用它?
實施例(T-SQL特定,這就是我一起工作的口音):
我有一個表:其上裝載與所有類型的瑣事
tChore(ChoreId int primary key, ChoreDescription nvarchar(15))
。我也有另外一張桌子:
tDayChores(
DayId int primary key,
ChoreId int foreign key references tChore(ChoreId)
)
哪個是加載了多天多事的關係。
當然有第三張表包含所有星期天的名稱。
現在,讓我們說我想得到一個,只有一天,真空。我更喜歡在星期三這樣做,但如果這不是計劃的話,我希望在星期四這樣做,反過來,如果那不是安排那麼沒關係,任何一天都沒問題。限制結果集一行
一種方法是做到這一點:
select top(1)
DayId
from
tDayChores DC
inner join tChore C
on C.ChoreId = DC.ChoreId
where
C.ChoreDescription = 'vacuum'
然而,如果真空定於週一和週三,然後我會得到週一的結果,我d喜歡排列星期三最高。
您可以刪除您的答案並將該詳細信息添加到問題本身 – 2009-05-29 09:35:35