2014-03-05 2 views
0

T-SQL에서 다음을 수행 할 수 있습니다.Sql 2008 R2 - 필드 이름 및 필드 값 선택

필드 목록에서 필드 이름과 필드 데이터를 반환하고 싶습니다.

TableX라는 테이블에 ClientID, Surname, Firstname, Age, Sex 필드가 있습니다. 나는 단지 ClientID, Surname and Firstname을 돌려주고 싶다.

나는

+-------------+--------------+------------+ 
| Client ID | FieldName | FieldData | 
+-------------+--------------+------------+ 
| 1   | Surname  | "Smith" | 
| 1   | Firstname | "Andrew" | 
+-------------+--------------+------------+ 
+1

에 오신 것을 환영합니다 :

// drop the temp table if it exists drop table #temptable // use select...into to create a temporary table select * into #temptable from ( select ClientID, 'Surname' as FieldName, surname as FieldData from YourTable union all select ClientID, 'Firstname' as FieldName, firstname as FieldData from YourTable ) s // display the results... select * from #temptable 

결과이 될 것입니다 StackOverflow에. 우리는 당신이 붙어있을 때 도움을 제공합니다. 혼자서 시도해보십시오. 일단 당신이 노력하면, 우리는 당신을 도울 수 있습니다. – Kermit

+0

http://technet.microsoft.com/en-us/library/ms188029.aspx –

+0

오늘 아침 8시 30 분부터 시간을 보냈습니다! – Spectrum

답변

0

당신은이 같은 union을 사용할 수 있습니다 다음 더 자세히 조사하기 위해 임시 테이블에 다음을 원하는 :

ClientID FieldName FieldData 
----------- --------- -------------------- 
1   Firstname Andrew 
1   Surname Smith 
+0

유니온의 두 부분이 다른 행을 반환하는 경우 UNION이 수행하는 암시 적 DISTINCT를 피하려면 UNION ALL을 사용하는 것이 좋습니다. – thepirat000

+0

@ thepirat000 네, 맞습니다. 내 소식을 업데이트하겠습니다. 나를 상기시켜 줘서 고마워. – jpw

+0

@jpw : 감사합니다. 나는 2 일 동안 이것으로 지금 고투하고있다! 어떻게하면 이것을 동적 인면으로 바꿀 수 있을까요? FieldName의 목록을 반환하고 싶습니다 ('성', '이름', '나이').이 목록은 select 문으로 작성됩니다. 가능하면 선택 하시겠습니까? 감사. – Spectrum