TABLE surveys:
id survey_title date active
1 Example Survey 1508842162 1
2 Example Survey2 1508842162 1
TABLE survey_user_relation:
id user_id survey_id(foregin_key) active
1 1 1 1
2 1 2 0
3 2 1 1
我上面有两张桌子。列活动表示调查表中的所有用户是否关闭了调查,并且仅调查了survey_user_relation表中的一个用户。 user_id和survey_id一起设置为UNIQUE键,这样一个用户只能与同一个调查相关一次。 我正在尝试列出所有调查,如果可能,我想知道用户是否在一个查询中与该调查相关。
我试过
SELECT *
FROM surveys s
LEFT
JOIN survey_user_relation u
ON u.survey_id = s.id
WHERE u.user_id = 2
但它只提供一项调查,我需要查看所有调查,并知道用户是否相关。
提前致谢
编辑:
我需要看到像
这样的东西id survey_title date active user_id
1 Example Survey 1508842162 1 2
2 Example Survey2 1508842162 1 NULL
答案 0 :(得分:1)
这应该可以解决问题。
app.staticTexts.
他只获取真正拥有user_id = 2的条目。在左连接中,他检查是否有一个,否则它为列返回null。 顺便说一下,你不需要第二张桌子上的行ID。只需将survey_id和user_id设置为primary即可。
答案 1 :(得分:0)
我认为您对此结果感兴趣:
SEELCT distinct s.survey_title, u.user_id
FROM surveys AS S LEFT JOIN survey_user_relation AS U
ON U.survey_id = S.id