我有一个名为 chat_users
的表,其中包含以下列:
编号 |用户名 |状态 |时间模组 |观点
下面是一个 UPDATE with CASE 语句的例子,效果非常好:
$db->exec("UPDATE `proba13`.`chat_users`
SET `username` = CASE id
WHEN 4 THEN 'Jie'
WHEN 5 THEN 'Mie'
WHEN 6 THEN 'Pres'
END,
`status` = CASE id
WHEN 4 THEN '1'
WHEN 5 THEN '2'
WHEN 6 THEN '3'
END
WHERE id IN (4,5,6)");
问题: 谁能给我一个在同一张表上使用 CASE 语句的 SELECT 示例?
问候和 提前致谢!
最佳答案
这将返回与更新表相同的结果(但是,显然没有对其进行任何更改):
SELECT id,
CASE id
WHEN 4 THEN 'Jie'
WHEN 5 THEN 'Mie'
WHEN 6 THEN 'Pres'
ELSE username
END AS username,
CASE id
WHEN 4 THEN 1
WHEN 5 THEN 2
WHEN 6 THEN 3
ELSE status
END AS status,
time_mod,
views
FROM proba13.chat_users
关于mysql - 谁能给我一个带有 CASE 语句的 SELECT 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903273/