我有这段代码:
SELECT category.category_id, SUM(
CASE(category.parent_id)
WHEN 0
THEN category_description.name
ELSE 0
END
)
AS category_main
FROM category
LEFT JOIN category_description ON category_description.category_id = category.category_id
GROUP BY category.category_id;
输出在category_main
中给出0category_id category_main
1 0
2 0
3 0
4 0
我想要的是获取类别的名称,因为category_description.name包含类别的名称。
我想要的结果是:
category_id category_main
1 Toys
2 Gifts
3 Cars
4 For men
答案 0 :(得分:0)
SUM
用于数字值。对于您的预期结果,它会显示一个简单的选择:
SELECT
c.category_id,
CASE c.parent_id WHEN 0 THEN d.name END as category_main
from category c
LEFT JOIN category_description d
ON d.category_id = c.category_id
答案 1 :(得分:0)
此代码SELECT category.category_id,
更改为SELECT category.category_id, category_description.name,
您必须在SQL查询中为select添加新列。