0

我有一个问题,如果有人可以帮助我,问题“子查询返回超过 1 行”

我需要为下拉字段选择驱动程序,如果为 Van 驾驶,则仅选择 Van 驱动程序,如果为 Kombi 驾驶,然后选择 Kombi 和 Van 驱动程序,如果为 Limo 驾驶,然后选择所有驱动程序

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    

解决了:

我用另一种方式解决了这个问题,谢谢

我给汽车司机增加了新的价值

一辆豪华轿车 - 价值豪华轿车

一个 Kombi - 价值 LimoKombi

和范 - 价值 LimoKombiVan

我用 LIKE 解决了

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

我认为这样更容易......还是谢谢你

4

1 回答 1

0

如果要使用用户定义的变量

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';
于 2013-06-27T02:37:15.710 回答