如何在 mysql 中使用嵌套大小写找到三角形的类型(给出三边的长度)?

How to find Type of triangle(length of three sides are given) using nested case in mysql?

这个 MySQL 查询有什么问题? 它显示语法错误。

SELECT
CASE
    WHEN A = B
        CASE
            WHEN A = C THEN 'Equilateral'
            WHEN C < A + B THEN 'Isosceles'
            ELSE 'Not A Triangle'
        END
    WHEN B = C
        CASE
            WHEN A < B + C THEN 'Isosceles'
            ELSE 'Not A Triangle'
        END
    WHEN A + B > C AND A + C > B AND B + C > A THEN 'Scalene'
    ELSE 'Not A Triangle'
END
FROM TRIANGLES;

您还必须为此添加一个 then

SELECT
CASE
    WHEN A = B
    THEN
        CASE
            WHEN A = C THEN 'Equilateral'
            WHEN C < A + B THEN 'Isosceles'
            ELSE 'Not A Triangle'
        END
    WHEN B = C
    THEN
        CASE
            WHEN A < B + C THEN 'Isosceles'
            ELSE 'Not A Triangle'
        END
    WHEN A + B > C AND A + C > B AND B + C > A THEN 'Scalene'
    ELSE 'Not A Triangle'
END
FROM TRIANGLES;

不需要嵌套case表达式:

SELECT (CASE WHEN A = B AND A = C THEN 'Equilateral'
             WHEN A = B AND C < A + B THEN 'Isosceles'
             WHEN A = B THEN 'Not A Triangle'
             WHEN B = C AND A < B + C THEN 'Isosceles'
             WHEN B = C THEN 'Not A Triangle'
             WHEN A + B > C AND A + C > B AND B + C > A THEN 'Scalene'
             ELSE 'Not A Triangle'
        END) as type
FROM TRIANGLES;