MYSQL 带连接的子查询

MYSQL Subqueries with join

我正在尝试通过 table 来 select 值,该 table 仅包含对 mysql 中其他 table 的引用。 引用 table 仅包含 INT userId、answer1、answer2、date

他们指的是用户 table 和答案 table。答案table有三列:id, answer, difficulty.

我遇到的问题是 select 在同一查询的同一列中输入两个值。这是我到目前为止得到的

SELECT
    nickname, 
    (SELECT answer FROM feed LEFT JOIN answerTable a ON answer1 = s.id) AS first,
    (SELECT answer FROM feed LEFT JOIN answerTable a ON answer2 = s.id) AS second,
    DATE_FORMAT(date,'%H:%i:%S %e-%c-%Y') AS date
FROM feed
LEFT JOIN users ON user = id;

通过这个查询,我在子查询中得到了多个值。

我试了一段时间了,需要一些新的眼光来看待这个问题。 感谢您的帮助。

请尝试:

SELECT
    nickname, 
    a1.answer AS a_first,
    a2.answer AS a_second,  
    DATE_FORMAT(date,'%H:%i:%S %e-%c-%Y') AS date
FROM 
    feed
    LEFT JOIN users ON feed.userId = users.id
    LEFT JOIN answerTable a1 ON feed.answer1 = a1.id
    LEFT JOIN answerTable a2 ON feed.answer2 = a2.id;

如果我理解得很好,您需要连接到来自 table feed 的 id 关于来自 users table 的用户的详细信息以及每个拉动的答案它来自 answers table。因此,除了您已经完成的 left joinusers 之外,每个答案 ID 上还有 2 个额外的连接 - 它会导致分别搜索 answer1 和 answer2 的答案 table。

希望对您有所帮助。