작성
·
123
0
SELECT CASE WHEN A = B and B = C then 'Equilateral' WHEN sum(A,B,C) + max(A,B,C) <= max(A,B,C) then 'Not A Triangle' WHEN a=b or b=c or a=c THEN 'Isosceles' ELSE 'Scalene' END FROM triangles
큰 변이 나머지 다른 변의 합보다 같거나 클때 삼각형이 아니다를 말하고싶은데
저 쿼리는 오류라고 뜹니다. 어떻게 짜면 제 의도대로 짤수있을까요??
답변 1
0
안녕하세요 abc님,
집계함수의 경우 하나의 컬럼의 값들에 대해 합계, 최소, 최대값을 찾아내는 연산 기능입니다.
ex) A 컬럼의 값들 중 가장 큰값 : MAX, A 컬럼 값들의 총합 : SUM 등
구하고싶으신 것이 여러개의 컬럼에 대해 복합적인 집계 연산으로 보이는데요.
해당 기능은 SQL에서는 제공하지 않습니다.
SUM의 경우 각 컬럼 값을 A+B+C와 같이 연산한 값을 가져오는 방식으로 우회하실 수 있으나
MAX와 같은 비교 연산은 서로 다른 컬럼의 값을 한꺼번에 비교하실 수 없기 때문에 강의에서 설명해드리는 대로 각 컬럼의 값을 순차적으로 비교할 수 밖에 없습니다.
궁금한 점이 해결 되셨길 바랍니다.