這是我期待做的事情,但如果可能與否,我有疑問!結合mysql中的2個表
我有2個表,一個叫users
,另一個是answers
。我需要將結果合併爲一個陳述,並按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`
UPDATE
我想出了下面的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
它是我正在尋找,但由於某種原因,第二個SELECT查詢中的user
字段顯示爲null
!任何想法爲什麼?
提預期的後期產出並關閉一次。 –
問題是這部分:「SELECT(選擇用戶名從用戶WHERE'ID' ='uid')」爲第二個SELECT命令,我想要一個字段從users表中使用'uid'從'answers'表中獲取用戶名 –
'user'字段是'NULL',因爲單詞'user'是爲''保留的(SELECT用戶名FROM用戶WHERE'id'='uid')AS用戶'我猜。改爲例如用戶和檢查出來 – Joe