1º)查看mysql地图
示例: [翻译为更好地理解图表]
pergunta(EN中的问题):谁发现了美国?
comentario(EN中的评论):Pablo
comentarionº2(EN中的第2条评论):Daniel
结果不好:
谁发现了美国?
评论:Pablo
谁发现了美国?
2º评论:丹尼尔
我需要什么(好结果):
谁发现了美国?评论:Pablo
2º评论:丹尼尔
如何获得好结果?
当前SQL QUERY:
SELECT
user_ID, Nome, userphoto, question_ID, autor_id, titulo,pergunta, curtidas, comentario_ID, comentario_question_ID, comentario_autor, comentario, comentario_curtidas
FROM
perguntador as a
LEFT OUTER JOIN
perguntadorrespostas
ON
perguntadorrespostas.comentario_question_id = a.question_id
LEFT OUTER JOIN
login
ON
a.autor_id = login.user_id
ORDER BY
question_ID desc
说明
comment = [row] comentario
问题= [行] pergunta
我解释得很糟糕,对不起,我对这些代码感到很疯狂。
我认为UNION可以解决这个问题,但我不知道如何将其解决
一些细节:
I ECHO WITH
while($row = $result->fetch_assoc()) {
echo "" . $row["pergunta"] . " " . $row["comentario"] . "<br>";
}
我希望评论在同一个question_id中,而不是每个都有评论的副本,你知道吗?
答案 0 :(得分:0)
在查询中使用LEFT JOIN。试试这个
$res = mysql_query("SELECT * FROM login
LEFT JOIN perguntador ON user_id=autor_id
LEFT JOIN perguntadorrespostas ON question_id=comentario_question_id");
while($rw=mysql_fetch_object($res)){
$pergunta = $rw->pergunta;
$comentario = $rw->comentario;
}