mysql查询按顺序和使用连接字符串的并集
我有一个疑问:mysql查询按顺序和使用连接字符串的并集,mysql,union,Mysql,Union,我有一个疑问: SELECT CONCAT(users.id, '#_#', users.nickname, '#_#', users.avatar, '#_#', questions.datetime,'#_#',questions.question,'#_#',0000) as summary FROM `questions` join users on users.id = questions.id_user WHERE questions.id =
SELECT
CONCAT(users.id, '#_#', users.nickname, '#_#', users.avatar, '#_#',
questions.datetime,'#_#',questions.question,'#_#',0000) as summary
FROM
`questions` join users
on users.id = questions.id_user
WHERE
questions.id = 12
UNION
SELECT
CONCAT(users.id, '#_#', users.nickname, '#_#', users.avatar, '#_#',
answers.datetime,'#_#',answers.answer,'#_#',answers.id) as summary
FROM
answers join users
on users.id = answers.id_user where id_question = 12
此查询的结果必须是一列(包含串联数据),我需要按答案排序。datetime但我自己找不到解决方案
一些mysql大师能帮我吗
谢谢:)
假设您的意思是按
datetime
排序,而不是按答案排序。顺便问一下,您可以用问题来简化这些问题。datetime
用于排序?因为联合的第一部分不加入应答
。
SELECT * FROM (
SELECT datetime,
CONCAT(users.id,'#_#',users.nickname,'#_#',users.avatar,'#_#',questions.datetime,'#_#',questions.question,'#_#',0000) as summary
FROM `questions`
join users on users.id = questions.id_user
WHERE questions.id = 12
union
select datetime,
CONCAT(users.id,'#_#',users.nickname,'#_#',users.avatar,'#_#',answers.datetime,'#_#',answers.answer,'#_#',answers.id) as summary
from answers
join users on users.id = answers.id_user where id_question = 12
) A ORDER BY datetime