2009-07-07 5 views
0

안녕하세요 친구는 다음과 같이 문제의 방법을 알려주었습니다 ....... 다른 테이블에 하나의 테이블을 열 값으로 삽입하려고합니다 ... table1에 들어 있습니다. 2 열 및 table2 3 열이 포함되어 이제는 table1을 table2에 3 열의 값으로 삽입해야합니다. 따라서 해당 열 table1이 있어야합니다. 이것은 perticularly MYSQL only.please에 관해서는 데이터 형식을 포함하여 나를 제안합니다 세 번째 열에 저장된 데이터를 어떻게 다시 검색 할 수 있습니까?MySQL의 삽입

+0

의미를 설명하기 위해 몇 가지 샘플 데이터를 보여주는 것이 좋습니다. –

답변

1

조금만 설명해 주시겠습니까? 지금

내 생각을 (예를 들어 줄) : 당신은 당신이 표에서 원하는 것을 선택하는 쿼리를 작성할 수 있다면, 당신은 표 2에 삽입 할 INSERT...SELECT을 사용할 수 있습니다

INSERT INTO table2 (id1, value1, more_value) 
    SELECT id1, value1, NULL FROM table1 
0

.

예를

INSERT INTO table2(col3) 
SELECT CONCAT(col1,col2) as table1val FROM table1 
0

를 들어 당신은 열 값으로 전체 테이블을 삽입 할 수 없습니다.

하나의 열에서 전체 table1을 참조해야하는 경우 테이블 1에 일종의 "그룹 ID"를 추가 한 다음 테이블 2에 삽입하고 SELECT에서 JOIN을 수행해야합니다.

original table1: 
col1, col2 
============== 
"val1", "val5" 
"val2", "val6" 
"val3", "val7" 
"val4", "val8" 

new table1: 
col1, col2, group_id 
======================== 
"val1", "val5", 1 
"val2", "val6", 1 
"val3", "val7", 1 
"val4", "val8", 1 

다음 표 2는

table2: 
col1, col2, group_id 
==================== 
"x", "y", 1 

것 그리고 당신이 함께 일을 할 것이라고를 다시 얻을 : 예를 들어

당신은 표 2의 값으로 아래 표를 원한다면

SELECT 
    table2.col1 
    , table2.col2 
    , table1.col1 
    , table1.col2 
FROM 
    table2 
    INNER JOIN 
    table1 
    ON (table2.group_id = table1_group_id) 

그리고 당신에게 줄 것 :의 라인

table2.col1, table2.col2, table1.col1, table1.col2 
================================================== 
"x",   "y",   "val1",  "val5" 
"x",   "y",   "val2",  "val6" 
"x",   "y",   "val3",  "val7" 
"x",   "y",   "val4",  "val8"