首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql从两个具有相同结构的不同表中选择

Mysql从两个具有相同结构的不同表中选择
EN

Stack Overflow用户
提问于 2013-03-29 23:04:46
回答 2查看 871关注 0票数 0

你能提供给我一些东西,如何推送两个不同的表,但具有相同的结构,我的意思是所有的信息都是相同的,只是表名是不同的,mailingsmailings_archive。一张桌子就可以了。

代码语言:javascript
复制
$query = sprintf("SELECT * FROM %smailings  WHERE hidden=0 AND draft=1 %sORDER BY category_id, mailing_segment", $this->dbprefix, $language);

$this->mailings[] = array('id' => $row->id,
                                      'mailing_naam' => $row->mailing_naam,
                                      'mailing_subject' => $row->mailing_subject,
                                      'mailing_from_name' => $row->mailing_from_name,
                                      'mailing_bounceaddress' => $row->mailing_bounceaddress,
                                      'mailing_body' => $row->mailing_body,
                                      'mailing_status' => $row->mailing_status,
                                      'mailing_segment' => $row->mailing_segment,
                                      'mailing_total_subscribers' => $row->mailing_total_subscribers,
                                      'mailing_total_sent' => $row->mailing_total_sent,
                                      'category_id' => $row->category_id,
                                      'utm_campaign' => $row->utm_campaign,
                                      'language' => $row->language);
        }                       

现在看起来是这样的,如何在这个数组中放入另一个表数据?别忘了,每个字段都是一样的,只是表名不同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-29 23:07:15

代码语言:javascript
复制
(SELECT * FROM %smailings  WHERE hidden=0 AND draft=1 %sORDER BY category_id, mailing_segment)
UNION
(SELECT * FROM another_table WHERE hidden=0 AND draft=1 %sORDER BY category_id, mailing_segment)

(select * from table1)
union
(select * from table2)

但这将导致一个无序的结果集,即使您在每个请求中放入"order by“,但这个可能是最快的。

如果您需要在表之间对所有内容进行排序(1...8),则语法如下:

代码语言:javascript
复制
select * from table1
union
select * from table2 order by id

如果您想要有两个单独的顺序(比如4..8来自一个表,1..4来自另一个表):

代码语言:javascript
复制
select * from 
(select * from test1 order by id asc) as t1
union all
(select * from test2 order by id asc);
票数 4
EN

Stack Overflow用户

发布于 2013-03-29 23:07:42

使用联合方法..

尝试查询:选择1个联合选择2个

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15705877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档