-1

私はこのクエリを持っています:

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

このクエリは(連結されたデータを含む)1つの列である必要があり、answers.datetimeで並べ替える必要がありますが、自分で解決策を見つけることができません...

一部のmysqlの第一人者は私を助けることができますか?

ありがとう :)

4

1 に答える 1

0
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

あなたがソートすることを意味していると仮定するとdatetime、ではありませんanswers.datetime

于 2013-01-01T20:15:28.593 に答える