簡體   English   中英

MySQL:聯接,使用的SELECT語句的列數不同

[英]MySQL: joins, The used SELECT statements have a different number of columns

我知道對此還有更多問題,但是我找不到適合我的答案。

這是我的查詢:

$query = $mysql->query("(
                        SELECT questions.*, tags.tagData
                        FROM questions
                        LEFT JOIN tags
                        ON questions.id = tags.questId
                        )
                        UNION (
                        SELECT users.username
                        FROM users
                        LEFT JOIN questions
                        ON users.id = questions.ownerId
                        )
                    ");

我選擇表問題中的所有問題,也選擇標簽,但是我將ownerId保存為所有者的ID,並且希望顯示用戶名。 現在我得到這個錯誤:

所使用的SELECT語句的列數不同

我究竟做錯了什么?

為什么需要做UNION? 問題表鏈接到用戶,您可以在JOIN中使用它

SELECT questions.*, 
tags.tagData,
users.username
FROM questions
LEFT JOIN tags
ON  tags.questId = questions.id 
LEFT JOIN
users ON users.id = questions.ownerId
 `SELECT questions.*, tags.tagData
            FROM questions
            LEFT JOIN tags
            ON questions.id = tags.questId
            )
            UNION (
            SELECT users.username,questions.*
            FROM users
            LEFT JOIN questions
            ON users.id = questions.ownerId
            )`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM