gpt4 book ai didi

mysql - 从答案表中选择行

转载 作者:行者123 更新时间:2023-11-29 16:11:09 25 4
gpt4 key购买 nike

我有 QUESTIONS_TB 和 ANSWERS_TB

是否有一个查询将返回 QUESTIONS 表中的所有行以及 ANSWERS 表中的所有行(对于基于 ID 的相关表)

答案表可能有多个问题的答案,因此在单个查询中我想选择与问题相关的所有答案行。

在此查询中,我选择特定问题的答案行,但子查询不允许我选择两列。

因此它会抛出此错误:操作数应包含 1 列

如何在单个查询中实现此目的?

$question_id = 56; //example question id...
$sql = "SELECT Q.*,

(SELECT A.answer_body
AS body, A.answer_id
AS answerid, A.ask_id
AS askid, A.user_id
AS answered_by_user_id

FROM $answers_table A
INNER JOIN $questions_table Q
ON A.ask_id=Q.question_id

WHERE A.ask_id='{$question_id}') answers,


(SELECT COUNT(v.vote_id) FROM $votes_table v WHERE Q.question_id=v.ask_id AND v.vote_type=0 ) votes_down,
(SELECT COUNT(v.vote_id) FROM $votes_table v WHERE Q.question_id=v.ask_id AND v.vote_type=1) votes_up,
CONCAT(m.firstname,' ',m.lastname) author_name,m.username u_name FROM $questions_table Q
LEFT JOIN $main_table m ON Q.user_id=m.user_id
WHERE Q.question_id='{$question_id}'";

最佳答案

如果您只想要问题及其答案,您可以执行以下 SQL 查询:

SELECT 
Q.*, A.answer_body AS body, A.answer_id AS answerid,
A.ask_id AS askid, A.user_id AS answered_by_user_id
FROM
$questions_table Q
LEFT JOIN
$answers_table A on A.ask_id = Q.question_id
WHERE
Q.question_id = $question_id

这将返回单个问题的所有答案。您可以更改 WHERE 语句中的问题。

如果您希望返回的所有答案都加入到他们的问题中,请删除 WHERE 语句。

关于mysql - 从答案表中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55242094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com