我正在尝试在'NOT NULL'
语句中使用CASE SELECT
,但我不断收到此错误消息:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本以获得正确的语法
SELECT
u.id,
CASE ph.thumbsize WHEN NULL THEN ph.thumbsize ELSE 'defaultpicture.jpg'
FROM
user u
LEFT OUTER JOIN
list_photos ph
ON
u.id = ph.userId;
我也为CASE
尝试了这些不同的格式:
(CASE WHEN ph.thumbsize IS NOT NULL THEN 'ph.thumbsize' ELSE
'defaultpicture.jpg')as picture
CASE WHEN ph.thumbsize IS NOT NULL THEN ph.thumbsize ELSE defaultpicture.jpg
答案 0 :(得分:1)
您错过了END
以及其他一些小问题。尝试:
SELECT
u.id,
CASE WHEN (ph.thumbsize IS NULL) THEN
'defaultpicture.jpg'
ELSE
ph.thumbsize
END AS picture
FROM
user u
LEFT OUTER JOIN
list_photos ph
ON
u.id = ph.userId;
答案 1 :(得分:0)
试试这个:
SELECT
u.id,
CASE ph.thumbsize WHEN NULL THEN ph.thumbsize ELSE 'defaultpicture.jpg' END
FROM
user u
LEFT OUTER JOIN
list_photos ph
ON
u.id = ph.userId;
在CASE中,您需要通过END
关闭它答案 2 :(得分:0)
为什么不使用IFNULL:
...,IFNULL(ph.thumbsize,'defaultpicture.jpg')AS图片,...