所以基本上我收到了我網站上新內容的通知。我有4個表 -如何構建此SQL查詢?
- 文章
- 媒體
- 更新
- 評論
每個表都有一套自己的列(我可以包括這些,如果有人想)。每個表有一個不同的列,這是時間戳列(一個大int格式化列與數據從PHP 時間()函數)。獲得最後30個修改的解決方案是從時間戳降序排序的這4個表中選擇前30行。
這是我到目前爲止的查詢,它不工作,我想知道如果有人可以幫助我。 -
SELECT * FROM `articles`
UNION SELECT * FROM `media`
UNION SELECT * FROM `updates`
UNION SELECT * FROM `comments`
ORDER BY `timestamp` DESC
LIMIT 30
編輯: 我還使用另一個查詢之前 -
SELECT * FROM `articles` ,`media` ,`updates` ,`comments`
ORDER BY `timestamp` DESC
LIMIT 30
,並不斷收到此錯誤 - 爲了條款 列 '戳' 不明確
編輯2
我現在意識到我必須在我的聲明中使用AS子句將這些結果合併到一個表中。
當你說「它不工作」時,你應該總是指定它的症狀「不工作」 - 它是否產生一個錯誤信息(如果是,那麼確切的信息是什麼)?它是否給你結果,但不是你想要的結果(如果是的話,它會給你什麼結果)?等等。 – Amber
只有在表具有相同字段的情況下,UNION纔有效,如果每個表具有不同的字段集合,則會給出錯誤 – Sparky