2013-02-25 67 views
0

我有,我希望能够在一个视图结合3个表:MySQL的合并多个表中的一个视图

tblContent: 
strTitle  | txtContent 
content 1 title | content 1 content 
content 2 title | content 2 content 
content 3 title | content 3 content 

tblNews 
news_title  | news_content 
news 1 title | news 1 content 
news 2 title | news 2 content 

tblTradeMembers 
company_title | company_content 
trade 1 title | trade 1 content 
trade 2 title | trade 2 content 
trade 3 title | trade 3 content 
trade 4 title | trade 4 content 

所以基本上,我想每个表中的内容映射到我的单

title   | content    | from 
content 1 title | content 1 content | tblContent 
content 2 title | content 2 content | tblContent 
content 3 title | content 3 content | tblContent 
news 1 title | news 1 content  | tblNews 
news 2 title | news 2 content  | tblNews 
trade 1 title | trade 1 content  | tblTradeMembers 
trade 2 title | trade 2 content  | tblTradeMembers 
trade 3 title | trade 3 content  | tblTradeMembers 
trade 4 title | trade 4 content  | tblTradeMembers 

所以我可以做:

select * from custom_view WHERE content LIKE "%3%" 

这是交流,我感到那么可以查询,这将是像结果视图可以治疗,我该怎么做?

+0

你有表中的任何ID或PK-FK? – jcho360 2013-02-25 17:21:51

+0

不幸的不是。表 – Fraser 2013-02-26 09:03:47

回答

2

试试这个

SELECT strTitle AS 'TITLE', txtContent AS 'Content', 'tblContent' AS 'From' 
UNION  
SELECT news_title AS 'TITLE', news_content AS 'Content', 'tblNews' AS 'From' 
UNION 
SELECT company_title AS 'TITLE', company_content AS 'Content', 'tblTradeMembers' AS 'From' 

这将俱乐部在视图中的所有记录

+0

表之间没有任何关系,这使我朝着正确的方向发展,谢谢。它的运行速度很慢,但它的确如我所需 – Fraser 2013-02-25 17:32:04

+0

由于表中没有关系,所以我们必须使用UNION,否则使用连接可以提高性能。 – Meherzad 2013-02-25 17:34:48