これが私がやろうとしていることですが、それが可能かどうか疑問があります!
私は2つのテーブルを持っています。1つはと呼ばれusers
、もう1つはですanswers
。結果を1つのステートメントに結合し、テーブルを。で並べ替える必要がありますtime
。トリッキーな部分は、time
両方のテーブルにあり、結果を並べ替えるために両方のtime
フィールドを考慮する必要があることです。
これは、クエリを思い付くのに失敗した試みです。
SELECT * FROM ( SELECT id, username, first_name, last_name, time FROM users
UNION ALL
SELECT id, answer, pid, uid, time FROM answers ) as AB
ORDER BY `AB.time`
アップデート
私は次のSQLクエリを思いついた:
SELECT username AS user, '' as page , '' as content , time FROM users
UNION ALL
SELECT (SELECT username FROM users WHERE `id`=`uid`) AS user, pid AS page, answer AS content, time FROM answers
ORDER BY `time` DESC
それは私が探しているものですが、何らかの理由でuser
2番目のSELECTクエリのフィールドはnull
!として表示されています。なぜですか?