테이블에서 셀프 조인을 수행하여 값을 열 단위로 표시하고 싶습니다. 각 객체에는 여러 속성(알려진 한도까지)이 있지만 모든 객체의 모든 속성이 저장되는 것은 아닙니다. 다양한 조인을 시도했지만 항상 행이 누락되어 Null 값을 원합니다.
시작 테이블:
객체 ID |
속성 |
가치 |
1 |
하나 |
10 |
1 |
b |
20 |
1 |
c |
30 |
2 |
하나 |
15 |
2 |
c |
25 |
내 목표(가능한 세 가지 속성이 a,b,c
임을 안다고 가정)는
입니다.
객체 ID |
하나 |
b |
c |
1 |
10 |
20 |
30 |
2 |
15 |
|
25 |
이를 달성하려면 다음 쿼리를 사용할 수 있습니다.
으아아아설명:
특정 값(예: "a", "b" 등)에는
CASE
语句,我们选择Attribute
값을 사용하세요. 따라서 해당 특정 열의 경우 해당 특정 속성의 값만 선택됩니다.SUM
我们聚合Value
字段的值。这样,任何ObjectID
를 사용하는 여러 행 값은 하나의 행으로 집계됩니다.다음과 같이
으아아아SUM
因为您可能有非数字值,您可以按照 @xQbert 的建议使用MAX
사용하고 싶지 않은 경우: