我有一个问题答案表。 此表包括如何从一个表中查找值以限制其他表?
ID,idOfQuestion和用户
问题表包括
ID,消息等。
我想要做的是找到一个特定的用户,然后找到他或她已经回答的所有idOfQuestions,然后我想在问题表中搜索所有没有从第一个查询中获得相同idOfQuestions的问题。
注:ifOfQuestion在回答=有问题
ID,这都应该是SQL
我有一个问题答案表。 此表包括如何从一个表中查找值以限制其他表?
ID,idOfQuestion和用户
问题表包括
ID,消息等。
我想要做的是找到一个特定的用户,然后找到他或她已经回答的所有idOfQuestions,然后我想在问题表中搜索所有没有从第一个查询中获得相同idOfQuestions的问题。
注:ifOfQuestion在回答=有问题
ID,这都应该是SQL
我不只会返回问题;吨知道我已经明白你的问题,但看看这个查询。
SELECT *
FROM QuestionTable
WHERE ID NOT IN
(SELECT IDOFQuestion as ID FROM tableQuestion WHERE USER = 'USERHERE')
如果您想了解哪些问题自己还没有回答,您可以使用一个外部联接
例如
SELECT q.*
FROM Questions q
LEFT JOIN Answers a ON q.ID = a.idOfQuestion AND a.User = 'UserIdValue'
WHERE a.idOfQuestion IS NULL
使用LEFT JOIN与WHERE ... IS NULL这样,意味着那里是在答案表中没有匹配的行对那个问题+用户ID
而NOT EXISTS变种:
SELECT q.*
FROM Questions q
WHERE NOT EXISTS
(SELECT NULL FROM Answers a
WHERE q.ID = a.idOfQuestion AND a.User = 'UserIdValue')
你好罗伯特,这SQL?你能否提供直到现在的代码?听起来像是一个非常基本的问题,你可以在SQL软件的文档中稍加阅读。 – 2012-01-18 08:38:39