查询规则自定义,由数据库保存,返回结果字段来自同一张表;
要实现多个规则查询条件符合的适配,最终将查询结果合并展示出来,并标注是哪个规则的结果;
Mysql例子
--合并重复行 select * from A union select * from B --不合并重复行 select * from A union all select * from B Select * From (select id,adddate,title,url from bArticle where ClassId=1 order by adddate desc limit 0,2) A Union All Select * From (select id,adddate,title,url from bArticle where ClassId=2 order by adddate desc limit 0,2) B Union All Select * From (select id,adddate,title,url from bArticle where ClassId=3 order by adddate desc limit 0,2) C Union All Select * From (select id,adddate,title,url from bArticle where ClassId=4 order by adddate desc limit 0,2) D
实践:
这里使用的是mysql默认的数据库mysql
![](http://dl2.iteye.com/upload/attachment/0116/2179/f7e70642-f6de-399f-85c1-4112e2f709d7.png)
SELECT * FROM (SELECT *,(SELECT 'A' as A) tag FROM help_topic) A UNION ALL SELECT * FROM (SELECT *,(SELECT 'B' as A) tag FROM help_topic) B UNION ALL SELECT * FROM (SELECT *,(SELECT 'C' as A) tag FROM help_topic) C UNION ALL SELECT * FROM (SELECT *,(SELECT 'D' as A) tag FROM help_topic) D
效果图:
![](http://dl2.iteye.com/upload/attachment/0116/2176/a5981f9c-963c-3ed7-9474-f9d1b8247643.png)