select语句从2个表中检索数据

时间:2017-03-18 22:32:10

标签: php sql select

我有一个可点击的问题列表,我希望在这个问题中打开一个新页面,并显示一个选项列表,可以从测验或测试中进行选择。

让我们说在数据库中,TableQuestions保存了问题,TableAnswers保存了可能的选项。 Answers表还包括Questions表中的ID,以确定与每个问题相关联的选项。

然而,当我点击某个问题时,它会显示所有问题和数据库中的所有答案,我只想显示我点击的问题以及与问题具有相同ID的答案。

这是我的SELECT语句:

("SELECT tableQuestions.*, tableAnswers.* FROM tableQuestions, tableAnswers     WHERE tableQuestions.question_id=tableAnswers.question_id");

有人可以协助吗? 感谢

2 个答案:

答案 0 :(得分:1)

好像你忘了在SQL中添加点击问题的ID,所以你得到了所有的问题。

此外,您在此处执行的操作(从2个表中获取数据)称为加入表,而更好的语法是JOIN ... ON部分中的FROM

SELECT tableQuestions.*, tableAnswers.* FROM tableQuestions INNER JOIN tableAnswers
 ON tableQuestions.question_id=tableAnswers.question_id 
WHERE tableQuestions.question_id = <id>

答案 1 :(得分:0)

除了Yossi的答案之外:你应该使用LEFT JOIN,INNER JOIN的insdead。这将允许您显示没有答案的问题。