我有一个包含字段id
、email
的person 表。
还有一个包含以下字段的订阅表:person_id
、category_id
。
如果一个人订阅了订阅表,表中至少会有一个条目。
我想查询第 3 列为 1 或 0 的 person 表,具体取决于 person 是否订阅。
select p.id, p.email , [is_subscribed]
from person p
is_subscribed
如果 subscription 表中有条目,则应为 1,否则应为 0。
我怎样才能实现上述目标?
最佳答案
在订阅和计数上使用 LEFT JOIN(在多个订阅的情况下)
SELECT p.id,p.email,IF(COUNT(s.category_id)>0,1,0) as is_subscribed
FROM
person as p
LEFT JOIN subscription as s ON s.person_id=p.id
GROUP BY p.id
关于mysql - SQL查询根据另一个表中的条目派生列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261614/