2014-12-04 2 views
0

한 테이블에서 다른 테이블로 데이터를 가져오고 싶습니다. 많은 사이트 및 Stackoverflow에서 참조를 가져 왔지만 오류를 해결할 수 없었습니다. 마지막 필드는 기본값 인 '아니오'를 보내려는 신청자 필드입니다. 나는PHP MySQL이 한 테이블의 데이터를 다른 테이블에 삽입합니다.

insert into user_identity (login_no, customer_id, prename, 
fullname, mobile, dob, age, applicant) values 
select login_id, customer_id, c_prename, CONCAT_WS(' ',`c_firstname`,`c_lastname`), 
c_mobile, dob, age, 'No' from customer where id = '1' 
+0

그런 짓을 삽입 어떻게 두 가지를 우리에게 이야기 할 수 유사하면서 다른 사람의 정확한 복제는 우리가이

CREATE TABLE EMP as SELECT * FROM EMPLOYEE 

뭔가를 할 수 은 그래서 의미에서 테이블을 만들 수 있습니다 테이블이 설치되어 있습니까? – Xavjer

+0

고객 테이블에 '신청자'가 포함될 가능성이있는 것은 무엇입니까? 널 (NULL)을 아니오로 바꾸려면 COALESCE (신청자, '아니오') – Giles

+0

을 사용하십시오. 추가 정보는 무엇입니까? @Xavjer –

답변

2

필요하지 않은 키워드 값이 시도 단일 쿼리에서이 모든 일을 할 ..

insert into user_identity (login_no, customer_id, prename, 
fullname, mobile, dob, age, applicant) 
select login_id, customer_id, c_prename, CONCAT_WS(' ',c_firstname,c_lastname), 
c_mobile, dob, age, 'No' from customer where id = '1' 

이 참조 .. http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

+0

당신은 fullname 필드에서 concatinated 실제 성/성을 원한다고 생각합니다. 따라서 다음과 같이 만들어야합니다. CONCAT_WS ('', c_firstname, c_lastname), – Xavjer

+0

그건 내 나쁜 일 이었어. 대답! 정말 도움이되었습니다! –

0

우리가에서 삽입하는 경우 다른 테이블에서는 암시 적으로 값을 제공하지 않으므로 키워드 값을 사용하지 않습니다. 다른 테이블에서 가져 오는 중입니다. 우리는이

Insert into <tablename>(column name) select (column name) from <Table name> 
관련 문제