sql join查询以检查登录用户是否喜欢

时间:2016-07-25 13:58:42

标签: mysql

查询真的很糟糕:(我在获取查询结果时遇到问题。

场景:我有两个表,在第一个表中我保存了用户活动详细信息,第二个表用于保存其他用户输入的所有活动的用户功能。

我需要的是获取类似值,无论当前登录用户是否已经喜欢活动。我需要某种布尔值。

用于存储活动的表格

enter image description here

存储计数表

enter image description here

我需要检查明确登录用户的明确活动,例如支票。     尝试查询:

SELECT at.id, 
CASE WHEN lk.status =1 and lk.user_id = 6 
    THEN 1 
    ELSE 0 
 END AS l 
FROM activity_transactions at 
LEFT JOIN likes lk ON at.id = lk.activity_transaction_id

输出我得到重复 -

enter image description here

伙计们有什么解决方案? 问题是,我得到重复的行。如果用户喜欢其他活动行,我需要检查1

1 个答案:

答案 0 :(得分:2)

尝试使用此查询

SELECT at.id,
  CASE WHEN lk.status =1 and lk.user_id = 6 THEN 1 ELSE 0 END AS l
FROM activity_transactions at
  LEFT JOIN likes lk ON at.id = lk.activity_transaction_id
group by at.id, l

上面的输入表格对我有用