SQL选择多个返回行中的一个

时间:2017-10-05 13:15:02

标签: sql sql-server

我有一个包含Make,Model,Year和Drive类型的汽车数据库 我正在通过Make,Model和year搜索某些汽车的驱动类型。 我遇到的问题是一些汽车返回多种驱动器类型I.E GMC YUKON 2002返回3 4WD,RWD,AWD。基本上,我想要遵循的逻辑是,如果有多个驱动器类型,如果存在AWD则使用其他如果存在4WD,并且如果AWD和4WD都存在则使用AWD。

2 个答案:

答案 0 :(得分:1)

你只需要返回1辆车,你可以使用这个

SELECT TOP 1 ... 
ORDER CASE drive
WHEN 'AWD' THEN 1
WHEN '4WD' THEN 2
WHEN 'RWD' THEN 3

答案 1 :(得分:0)

子选择每个MMY的驱动器类型,获取按CASE表达式排序的前1驱动器类型。