我有两张桌子:
event_categories包含:
event_category_id,event_category
示例数据:
1, Tennis
2, Volleyball
3, Boxing
4, Skating
然后我有一个表可以连接到可能链接到这些类别的用户。
users_event_categories包含
user_id,event_category_id
示例数据:
1223, 2
1223, 4
5998, 2
我需要一个返回所有事件类别的查询,并在用户链接了该类别时返回。
因此,如果我使用user_id 1223查询,我的结果将是:
1, Tennis, 0
2, Volleyball, 1
3, Boxing, 0
4, Skating, 1
或者使用user_id 4444的查询将返回:
1, Tennis, 0
2, Volleyball, 0
3, Boxing, 0
4, Skating, 0
答案 0 :(得分:2)
如果您只想要关于一个特定用户的数据
,这将有效select ec.event_category_id, ec.event_category, if(uec.user_id is null, 0, 1)
from event_categories ec
left join users_event_categories uec
on uec.event_category_id = ec.event_category_id and uec.user_id = 1223
答案 1 :(得分:0)
select tn2.user_id,event_category,count(event_category) as total from table_name1 tn1
inner join table_name2 tn2 on tn1.event_category_id = tn2.event_category_id
where tn2.user_id = 4444
group by event_category