Двойная вставка в одном запросе INSERT..SELECT - PullRequest
2 голосов
/ 18 сентября 2011

Например, у меня есть следующий код:

INSERT INTO table_prices(price, comment)
    SELECT a.price, 'first'
    FROM first_price AS a
UNION
    SELECT a.price, 'second'
    FROM second_price AS a;

И у меня есть результат в таблице "table_prices":

id                      price                   comment
1                       first_price1            first
2                       first_price2            first
3                       first_price3            first
...                     ...                     ...
15                      second_price1           second
16                      second_price2           second
...                     ...                     ...

Но мне нужно следующее:

id                      price                   comment
1                       first_price1            first
2                       second_price1           second
3                       first_price2            first
4                       second_price2           second
...                     ...                     ...

Не могли бы вы мне помочь - как мне этого добиться?ТИА!

Ответы [ 2 ]

2 голосов
/ 18 сентября 2011

Вы можете использовать ЗАКАЗАТЬ

ORDER BY id
1 голос
/ 18 сентября 2011

Для упорядочения строк в объединениях select требуется временная таблица, примерно такая работа должна работать:

INSERT INTO table_prices(price, comment)
SELECT `price`,`comment`
FROM (
        SELECT a.price AS `price`, 'first' as `comment`
        FROM first_price AS a
        UNION
        SELECT a.price, 'second'
        FROM second_price AS a
    ) temp_table
ORDER BY `price`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...