2011-11-08 2 views
0

필드 이름이 다른 테이블의 열에있는 값인 임시 테이블을 작성해야합니다. 이 두 번째 테이블은 웹 사이트 개발 중에 변경 될 수 있으므로 필드 이름을 일상에 하드 코딩 할 수 없습니다. 내 말은, 소스 테이블로이 무엇이 고려의 예로서 새 테이블의 필드 이름으로 열의 값 사용

은 적절 "sourcetable"라는 :

profile_name profile_surname profile_address_street 
John   Doe    Baker Street 
:

field_id fieldname 
1   profile_name 
2   profile_surname 
5   profile_address_street 

그런 다음 나는이처럼 보이는 테이블을 만들 필요가있다

나는이 시도 :

create temporary table if not exists newtable(
    select fieldname from sourcetable 
); 

을하지만 그건 그냥 신 "에서"필드 이름 "열을 포함하는 테이블을 반환 cetable ". 누구든지이 일을하는 빠르고 깨끗한 방법을 알고 있습니까?

답변

1

내 의견으로는 가장 쉽고 가장 깨끗한 방법은 CREATE [TEMPORARY] TABLE (또는 일반 SELECT 쿼리를 - 당신이 물건을 사용하는 방법에 따라) 구축하는 것입니다 sourcetable의 데이터를 사용하여 응용 프로그램 코드에서 문, 그리고 그냥 실행 .

순수 SQL에서는 유연한 작업을 수행 할 수 없으며 저장 프로 시저를 사용하여 수행 할 수도 없습니다 (그러나 100 % 확실하지는 않습니다).

+0

안녕하세요, Romain, 빠른 반응에 감사드립니다. 나는 이미 그런 식으로 이미 알고 있었지만, 프로젝트의 (다소 지저분한) 혼합 기술 접근 ​​방식은 애플리케이션 로직과는 반대로 스토어드 프로 시저에서 모든 작업을 수행해야합니다. – GijsW

+0

@ GijsW Ugh. 너는 큰 고통을 겪어야한다, 나는 그것에 관하여 유감 스럽다 ... – Romain