具有多个where条件的同一列的else mysql时的情况

具有多个where条件的同一列的else mysql时的情况,mysql,case,Mysql,Case,我有一个数据表。我试图使用case-when-mysql查询根据同一列的三个where条件获取数据。 但没有给出预期的结果。 我的桌子: id bundle_id asset_id price_id customer_id weekday_am weekend_am 1 1 1 1 100.00 120.00 2 1 2

我有一个数据表。我试图使用case-when-mysql查询根据同一列的三个where条件获取数据。 但没有给出预期的结果。 我的桌子:

id  bundle_id   asset_id    price_id    customer_id  weekday_am     weekend_am 
1       1           1           1                       100.00          120.00
2       1           2           1                       150.00          140.00
3       1           1           1                       0.00            0.00
4       1           1           2                       0.00            145.00
5       1           2           2                       140.00          0.00
6       1           1           2                       0.00            0.00
7       1           1           3           5           140.00          120.00
8       1           2           3           5           0.00            140.00
9       1           1           3           5           130.00          0.00
我希望结果的格式如下所示

bundle_id   asset_id    weekday_am      weekend_am
1           1               140.00          120.00
1           2               150.00          140.00
1           1               130.00          0.00
但我的查询不起作用:

SELECT bundle_id,asset_id ,
(CASE 
WHEN weekday_am IS NULL  or weekday_am = 0.00  where customer_id = 5 and price_id = 3 THEN weekday_am
WHEN weekday_am IS NULL  or weekday_am = 0.00 where price_id = 2 THEN weekday_am  
ELSE weekday_am IS NULL  or weekday_am = 0.00 where price_id = 1 THEN weekday_am  
END as 'weekday_am'),(CASE 
WHEN weekend_am IS NULL  or weekend_am = 0.00 where customer_id = 5 and price_id = 3 THEN weekend_am
WHEN weekend_am IS NULL  or weekend_am = 0.00 where price_id = 2 THEN weekend_am  
ELSE weekend_am IS NULL  or weekend_am = 0.00 where price_id = 1 THEN weekend_am  
END as 'weekend_am')
FROM 
bundle_prices where bundle_id = 1
谁能帮我一下吗?谢谢。

尝试编辑

WHEN weekday_am IS NULL  or weekday_am = 0.00  where customer_id = 5 and price_id = 3 THEN weekday_am


和weeken_am一样

我得到的错误如下
错误代码:1064。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第3行“where customer_cid=5且price_id=3 THEN weekday_am ELSE weekday_am IS NULL”附近使用的正确语法,其中customer id=5似乎就是您所需要的。如果没有,请参阅@草莓:是的,在customer_id=5处存在错误,我不知道如何解决此问题:(相同的错误
错误代码:1064。您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解在第3行“where customer_id=5且price_id=3 THEN weekday_am WHEN weekday_am IS NULL”附近使用的正确语法,但它现在给出了NULL值。我需要检查
weekday_am
是否为h如果条件
customer_id=5
price_id=3
没有值,那么我必须检查条件
price_id=2
,即使没有,我也需要检查条件
price_id=1
在这种情况下我如何使用when-else条件?你怎么会在表中得到结果当条件为weekday_am为NULL或weekday_am=0.00时,如果条件为weekday_am为NULL或weekday_am=0.00,您将始终获得weekday_am为NULL或0.00的值。请再次检查您的条件。可能类似于weekday_am为NULL或weekday_am=0.00
WHEN weekday_am IS NULL  or weekday_am = 0.00  and customer_id = 5 and price_id = 3 THEN weekday_am
ELSE weekday_am