没有重复记录的内部连接


Inner Join without duplicate records

我有两个表(问题表和答案表)。

<<p> 问题表/strong>
id question
1  what is your name?
2  how old are you?
<<p> 回答表/strong>
id  answer  questionid
1   john     1
2   smith    1
3   waiyan   1
4   20       2
5   21       2
6   22       2

当我选择记录时,结果如下:

SELECT * FROM question INNER JOIN answer on questionid= question.id
what is your name?
john
what is your name?
smith
what is your name?
waiyan
how old are you?
20
how old are you?
21
how old are you?
22

我想删除重复的问题语句。我想要得到关注。

What is your name?
John
smith
waiyan  
how old are you?  
20 
21    
22

请告诉我怎么写它。我是mysql的初学者。很抱歉我的英语使用不当。

问题是在你的php代码,而不是你的MySQL语句。您只需要打印与前一个问题不同的问题。有很多方法可以做到这一点。请记住,在SQL查询中,您需要执行以下操作:

SELECT * FROM question INNER JOIN answer 
    on questionid= question.id 
    order by question.id

确保同一个问题的答案不会重复。然后执行如下操作(感谢@drrcknlsn修复我在php的尝试):

$last_question = "";
foreach ($results as $row) {
    if ($last_question !== $row["question.question"]) {
        echo $row["question.question"];
    }
    echo $row["answerswer.answer"];
    $last_question = $row["question.question"];
}