此查询返回包含 4 列的记录:id, alias, name, status。
SELECT DISTINCT t.id, t.alias, t.name,
CASE WHEN at.tag_id IS NULL THEN 0 ELSE 1 END AS status
FROM tbl_tag t LEFT JOIN tbl_article_tags at
ON t.id = at.tag_id
如何添加条件WHERE status = 1?如果你加上了,那么mysql会报错:
#1054 -“where 子句”中的未知列“status”
SQL Alias- 可用于为表或列提供其他名称,为此使用别名。如果您的表名或列名很长或很复杂,使用别名会很有用。当你写
AS status- 你为列指定一个名称,唉,它不能在条件中使用WHERE。因此,问题的解决方案如下: