注意:這不是my other question重複。我改變了表格結構,需要新的查詢幫助。如何構建此SQL查詢。組合多個表?
所以基本上我得到在我的網站的新內容的通知。我有4個表 -
- 文章
- 媒體
- 更新
- 評論
每個表都有一套自己的列(我可以包括這些,如果有人想)。在我設計的新通知系統中,我通過時間戳確定最新的內容。時間戳值是一個格式爲Unix Time的整數。
剛纔我改變了我的表結構,之前,我的表都有那個相似列。一個例子,文章和媒體都有列id。我用的是SQL代碼是這樣的 -
SELECT a.*,m.*,u.*,c.* from articles AS a
LEFT JOIN media AS m ON (m.mediaTimestamp = a.timestamp)
LEFT JOIN updates AS u ON (u.updateTimestamp = a.timestamp)
LEFT JOIN comments AS c ON (c.commentTimestamp = a.timestamp)
ORDER BY a.timestamp desc LIMIT 30
但是這樣做時,該代碼將返回一列的多次反覆在同一行(它將返回的文章和媒體ID列!)。顯然,當我試圖通過代碼獲取數據時,它會爲我提供不同表格的數據(而不是給我文章ID,它會給我媒體ID)。
我對這個解決方案是「漂亮」了我與他們的表前綴代碼及名稱表中的所有列(如文章)(所以ID將成爲articleID)可以。但是現在上面的SQL產生錯誤。有人可以爲我轉換/重組這個SQL。
順便說一句,你有沒有試圖糾正查詢以便a.timestamp成爲a.articleTimeStamp? – Mansuro
是的,我以前做過,我只是意識到,這是從我原來的不同的代碼,我正在搞清楚爲什麼它不會工作,忘記了。我現在明白了,謝謝。在上線81 /home/cryptum1/public_html/weblib/beta/api/content.php – liamzebedee