Php Mysql从两个具有相同结构的不同表中选择
你能给我一些建议吗,如何推送两个不同的表,但结构相同,我的意思是所有信息都是相同的,只是表名不同,Php Mysql从两个具有相同结构的不同表中选择,php,mysql,Php,Mysql,你能给我一些建议吗,如何推送两个不同的表,但结构相同,我的意思是所有信息都是相同的,只是表名不同,mailings和mailings\u archive。 一张桌子就可以了 $query = sprintf("SELECT * FROM %smailings WHERE hidden=0 AND draft=1 %sORDER BY category_id, mailing_segment", $this->dbprefix, $language); $this->mailing
mailings
和mailings\u archive
。
一张桌子就可以了
$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);
}
现在看起来是这样的,如何在这个数组中放入另一个表数据?别忘了,每个字段都是相同的,只是表名不同
(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)
但这将导致一个无序的结果集,即使您将“orderby”放在每个请求中,但这一个可能是最快的
如果需要在表(1…8)之间对所有内容进行排序,则以下是一种语法:
select * from table1
union
select * from table2 order by id
如果希望有两个单独的订单(如一个表中的4…8,另一个表中的1…4):
但这将导致一个无序的结果集,即使您将“orderby”放在每个请求中,但这一个可能是最快的
如果需要在表(1…8)之间对所有内容进行排序,则以下是一种语法:
select * from table1
union
select * from table2 order by id
如果希望有两个单独的订单(如一个表中的4…8,另一个表中的1…4):
使用union方法
尝试查询:选择1联合选择2使用联合方法 尝试查询:选择1联合选择2