我想在我的网站上进行调查,我希望每个调查问题只显示给用户(已注册和登录)一次(如果已回答)。所以我做了两张桌子。
surveyQuestions
(表1包含每个问题的数据):
surveyAnswers
(表2列出了每个用户对问题的答案):
我需要从表surveyQuestions
中选择1个问题,该问题尚未从登录用户回答(答案存储在surveyAnswers
中)。浏览器中的UserId
使用$_SESSION['id']
处理。
我尝试了不同的JOIN
方法,但没有运气,我现在迷路了。
非常感谢。
答案 0 :(得分:1)
假设您的问题表中有不同的问题,并且您的答案表中的不同用户的每个问题都有多个副本,您应该可以这样做..获取针对特定用户的所有已回答问题的调查ID,然后查看在他们没有使用NOT IN
回答的问题上SELECT whatever_you_want
FROM surveyQuestions
WHERE surveyId NOT IN(
SELECT surveyId
FROM surveyAnswers
WHERE userId = $id -- # -- whatever your filtering id is here
)
LIMIT 1