MySQL - SELECT 中的 IF

标签 mysql

我有以下 MySQL 查询:

SELECT id, name, parent_id AS pID, 

(SELECT parent_id
FROM category
WHERE id = pID)
AS grandparent_id, 

(SELECT parent_id
FROM category
WHERE id = grandparent_id) 
AS greatgrandparent_id, 

(SELECT name
FROM category
WHERE id = pID)
AS parent, 

(SELECT name
FROM category
WHERE id = grandparent_id)
AS grandparent, 

(SELECT name
FROM category
WHERE id = greatgrandparent_id)
AS greatgrandparent

FROM category
WHERE active = '1'
HAVING grandparent IS NOT NULL
ORDER BY grandparent_id, parent_id, sort, id ASC 

曾祖 parent 为NULL时,我希望它显示祖 parent 值。这可能吗?

我已经尝试过CASE WHEN,但一定是在某个地方出现了语法错误,因为它不断抛出错误。

最佳答案

简单的解决方案:ISNULL(曾祖 parent ,祖 parent )

关于MySQL - SELECT 中的 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39451004/

相关文章:

php - ON DUPLICATE KEY UPDATE 在 PDO 中不起作用

php - 了解 session 超时 (php)

mysql - 如何停止phpMyAdmin服务器监控?

java - 您可以将 JDBC 与代号一一起使用吗?

php - 用数组更新 MySql 数据库

mysql - 并发插入会导致这样的结果吗

java.sql.SQLException : Parameter index out of range (1 > number of parameters, 即 0)。

php - Swift 代码不更新 MySQL 数据库

Mysql 查询查找已完成依赖项的作业

python - 如何在 MySQL 中查找重复项