2012-11-22 2 views
1

내가하나의 테이블에서 일부 정적 데이터를 사용하여 다른 테이블에 데이터를 삽입하는 방법은 무엇입니까?

Car_ID | Car_Name 

다음과 같이 하나 개의 테이블 자동차를했습니다 샘플 데이터

Car_ID Car_Name 
1   Honda City 
2   Ferrari 
3   Mercedes 
4   Rolls Royce 

내가 차 테이블에서 데이터를했습니다. 지금은 지금은 Car_Color 기본 값이됩니다 자동차에서 Car_Detail에 데이터를 삽입했습니다

Car_Detail_ID | Car_ID | Car_Color 

다음과 같이 다른 테이블 Car_Detail을했습니다. 단일 성명서로 이것을 달성하는 방법은 무엇입니까?

예상 결과

Car_Detail_ID Car_ID Color 
1    1   Red 
2    2   Red 
3    3   Red 
4    4   Red 

편집

샘플 데이터

자동차 표

Car_ID Car_Name 
1   Honda City 
2   Ferrari 
3   Mercedes 
4   Rolls Royce 

색상 표

Color_ID Color_Name 
1   Red 
2   Yellow 
3   Blue 
4   Green 

예상 결과

Car_Detail_ID Car_ID Color_ID 
1    1   1 
2    2   1 
3    3   1 
4    4   1 
5    1   2 
6    2   2 
7    3   2 
8    4   2 
9    1   3 
10    2   3 
11    3   3 
12    4   3 
13    1   4 
14    2   4 
15    3   4 
16    4   4 

답변

2

사용 INSERT INTO...SELECT 문, 쿼리는 아래 Car_Detail_ID이 자동 증가 열이 있다고 가정하고 ColorRed

의 기본값
INSERT INTO Car_Detail (Car_ID) 
SELECT Car_ID 
FROM Car 

아닌 경우,

INSERT INTO Car_Detail (Car_ID, Color) 
SELECT Car_ID, 'Red' Color 
FROM Car 

또는이 같은,

INSERT INTO Car_Detail (Car_Detail_ID, Car_ID, Color) 
SELECT Car_ID, Car_ID, 'Red' Color 
FROM Car 

UPDATE 1

사용 CROSS JOIN

INSERT INTO CAr_Detail(Car_ID, Color_ID) 
SELECT Car_ID, Color_ID 
FROM Car CROSS JOIN Color 
+0

두 테이블에서 추가해야하는 경우? 위의 코드는 정상적으로 작동하지만. –

+0

레코드 원본은 두 테이블에서 나옵니다. 또는 레코드의 대상이 두 테이블에 있습니까? –

+0

car_detail에 견인이 포함되어 있다고 가정하십시오. FK –

관련 문제