我有以下 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/