SqlServer 2008에는 다음과 같은 테이블이 있습니다.
+--------+--------------------+--------------+
some_key | some_discriminator | some_column
-------- | ------------------ | -------------
K1 | D1 | V1
K1 | D2 | V2
K2 | D1 | V3
K2 | D2 | V4
그리고 이것을 생성하는 쿼리를 실행하고 싶습니다.
+--------+------+--------
some_key |D1 | D2
---------|---------------
K1 | V1 | V2
K2 | V3 | V4
간단한 피벗 쿼리가 필요에 적합 할 수 있습니다.
SELECT some_key,
MAX(CASE WHEN some_discriminator = 'D1' THEN some_column ELSE NULL END) AS D1,
MAX(CASE WHEN some_discriminator = 'D2' THEN some_column ELSE NULL END) AS D2
FROM yourTable
GROUP BY some_key
값을 MAX
무시 하고 단일 문자열이 해당 문자열을 반환 하기 때문에 그룹화가 작동 합니다.NULL
MAX
VARCHAR
그러나 피벗 된 결과에 표시하려는 열 또는 동적 열이 많은 경우에는 적합하지 않을 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다