我知道有更多的问题,但我找不到合适的答案。
这是我的疑问:
$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语句具有不同的列数
我做错了什么?
答案 0 :(得分:1)
为什么你需要做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
答案 1 :(得分:-1)
`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
)`