2013-06-27 132 views
0

我有一个问题,如果有人可以帮助我,问题“子查询返回多个1行”MySql的选择CASE WHEN然后选择

我需要选择驱动器的下拉字段, 如果驾驶范则仅选择面包车司机 如果驾驶KOMBI然后选择KOMBI和面包车司机 如果驾驶豪华轿车然后选择所有驱动程序

SELECT CASE 
WHEN "Van"="Van"  
THEN (SELECT fahrername FROM fahrer WHERE auto = 'Van') 
WHEN "Kombi"="Kombi" 
THEN (SELECT fahrername FROM fahrer WHERE auto = 'Kombi' AND auto = 'Van') 
ELSE (SELECT fahrername FROM fahrer) 
END  

解决:

我ANOT解决了这个问题她的方式 感谢反正

我加给汽车驾驶新值

的豪华轿车 - 价值豪华轿车

的KOMBI - 值LimoKombi

和范 - 价值LimoKombiVan

和我使用LIKE解决

SELECT 
    fahrername 
FROM 
    fahrer 
WHERE 
    auto LIKE '%{typauto}%' 

我觉得它更容易这样...... 谢谢你的好意

+0

你应该张贴您的解决方案在回答中,接受它,让其他人知道这个问题就解决了。 – mor

回答

0

如果你想使用user-defined variables

set @vehType='Van'; 
select fahrername from fahrer where @vehType = 'Limo' 
    union select fahrername from fahrer where @vehType = 'Kombi' and auto in ('Kombi','Van') 
    union select fahrername from fahrer where @vehType = 'Van' and auto = 'Van'; 
+0

我解决了这个问题以另一种方式 感谢反正 我加给汽车驾驶新值 的豪华轿车 - 价值豪华轿车 的KOMBI - 值LimoKombi 和范 - 价值LimoKombiVan 我用解决LIKE 选择 fahrername FROM fahrer WHERE 汽车LIKE '%{} typauto%' 我觉得它更容易这样...无论如何,谢谢你 –