2011-05-26 128 views
0

我有這個疑問:MySQL查詢幫助

(SELECT * FROM news WHERE Del='0' ORDER BY `Date` DESC) 
    UNION 
(SELECT * FROM news_collect WHERE Del='0' ORDER BY `Date` DESC) 

現在在while循環我需要的,如果從記錄表的消息來切換或news_collect ......怎麼辦呢?

謝謝

回答

1

我會解決這個問題,添加一個自定義字段,保持列數相同。

(SELECT *, 'news' as source FROM news WHERE Del='0' ORDER BY `Date` DESC) 
    UNION 
(SELECT *, 'news_collect' as source FROM news_collect WHERE Del='0' ORDER BY `Date` DESC) 

然後你可以使用switch($aRow['source'])

0

嘗試修改您的查詢,如下所示:

(SELECT news.*, 'news' coming_from FROM news WHERE Del='0' ORDER BY `Date` DESC) 
    UNION 
(SELECT news_collect.*, 'new_collect' FROM news_collect WHERE Del='0' ORDER BY `Date` DESC) 

(假設「coming_from」不是「新聞」表中的列)

然後使用列「coming_from」記錄的產地來區分。