0

2 つの異なるテーブルを同じ構造でプッシュする方法を教えてください。つまり、すべての情報は同じで、テーブル名だけが異なりmailingsますmailings_archive。1つのテーブルでOK

$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);
        }                       

これで、この配列に別のテーブルデータを入れる方法は次のようになります。テーブル名が異なるだけで、すべてのフィールドが同じであることを忘れないでください。

4

2 に答える 2

4
(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 つの順序付けられていない結果セットになりますが、これはおそらく最速です。

テーブル (1....8) の間ですべてを順序付けする必要がある場合、これは構文です。

select * from table1
union
select * from table2 order by id

2 つの別々の注文が必要な場合 (1 つのテーブルから 4...8、別のテーブルから 1..4 など):

select * from 
(select * from test1 order by id asc) as t1
union all
(select * from test2 order by id asc);
于 2013-03-29T15:07:14.997 に答える
1

ユニオンメソッドを使用してください。

クエリを試してください: select 1 union select 2

于 2013-03-29T15:07:42.463 に答える