2011-09-18 4 views
2

예를 들어, 나는 다음과 같은 코드가 있습니다더블 삽입

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 
...      ...      ... 

도와주세요. 어떻게 할 수 있습니까? 티아!

+0

왜이 순서의 문제는 무엇입니까? – meze

+0

왜 그게 필요합니까/그게 필요할 것이라고 확신합니까? 그것은 특별한 id를 특정 데이터에 연결해야하기 때문입니다 (그것은 이상한 것입니다. 왜냐하면 그것은 단지 '임의의 id'이기 때문입니다), 아니면 단지 출력 목적을위한 것입니다 (그러면 당신이 그것을 얻는 방법을 귀찮게하지 않을 것입니다 테이블,하지만 출력 물건의 더) – Nanne

답변

2

당신은 임시 테이블이이 같은 일을해야 필요 노동 조합의 선택에

ORDER BY id 
+0

thx 많이! 그것은 나를 위해 일한다! – dizpers

1

주문 행에 의해 ORDER를 사용할 수 있습니다

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` 
+0

또 다른 좋은 방법입니다. – dizpers