如何使用Zend_Db_Select直接從子查詢(派生表)中選擇?Zend_Db_選擇如何從子查詢(派生表)中選擇
請參閱我有5個具有相同結構的表,我想從它們中獲取所有行,合併它們並刪除重複項。我正在使用自動刪除重複的UNION。問題是我之前添加了一個靜態列到每個表,所以有一列是不同的=>重複發生。
這裏是我的查詢到目前爲止:
SELECT `news_main`.*, 'main' as `category`
FROM `news_main`
UNION SELECT `news_politics`.*, 'politics' as `category` FROM `news_politics`
UNION SELECT `news_society`.*, 'society' as `category` FROM `news_society`
UNION SELECT `news_world`.*, 'world' as `category` FROM `news_world`
UNION SELECT `news_business`.*, 'business' as `category` FROM `news_business`
ORDER BY `date` DESC LIMIT 8
看我怎麼添加靜態值到新列category
?現在一切都是一樣的(有重複的行),但由於它們來自不同的類別,UNION無法刪除它們。
所以我想我可以SELECT
從這個子查詢,並將它們組合中的所有行刪除重複,像這樣:
SELECT *
FROM (
SELECT `news_main`.*, 'main' as `category`
FROM `news_main`
UNION SELECT `news_politics`.*, 'politics' as `category` FROM `news_politics`
UNION SELECT `news_society`.*, 'society' as `category` FROM `news_society`
UNION SELECT `news_world`.*, 'world' as `category` FROM `news_world`
UNION SELECT `news_business`.*, 'business' as `category` FROM `news_business`
ORDER BY `date` DESC LIMIT 8
) as subtable
GROUP BY `source`
ORDER BY `date` DESC
我沒有在MySQL運行這個和它的作品完美..唯一的問題是...
如何使用Zend_Db_Select的奇特功能執行此操作?
在此先感謝!