[HackerRank]Type of Triangle練習問題


HACKERRANKタイプのTriangle練習問題
質問:Write a queryは、TriANGLESテーブルの3つのエッジ長を使用して、各レコードのタイプを識別します.Output one of the following statements for each record in the table:
Equilateral: It's a triangle with sides of equal length.
Isosceles: It's a triangle with sides of equal length.
Scalene: It's a triangle with sides of differing lengths.
Not A Triangle: The given values of A, B, and C don't form a triangle.
Input Format

救いが必要なもの
三角形タイプを区別するクエリーの作成
[初期作成エラークエリ]
SELECT CASE
            WHEN A=B AND B=C AND A=C THEN 'Equilateral' 
            WHEN A=B OR B=C OR A=C THEN 'Isosceles'
            WHEN  A+B<=C OR B+C<=A OR A+C<=B  THEN 'Not A Triangle'
             ELSE 'Scalene'
       END 
FROM TRIANGLES
[間違った理由]
問題のように
正三角形->等辺三角形->三角形だけでなく->三角形
条件文を順番に作成
BUT
この場合.
1)三角形を作成できる条件ではありません.
*例えば(20,240)
等辺三角形で区切られた条件の生成
そのため、まずNOT A TRIANGLEを作成する必要があります
CASE条件文を書くときは順番に注意
2)正三角形の場合、A=B AND B=Cが2つしか作成されない場合、A=B=C
[正しい]
SELECT CASE
            WHEN  A=B AND B=C THEN 'Equilateral'
            WHEN  A+B<=C OR B+C<=A OR A+C<=B  THEN 'Not A Triangle'
            WHEN A=B OR B=C OR A=C THEN 'Isosceles'
            ELSE 'Scalene'
       END 
FROM TRIANGLES
#このコースは「SQLデータ分析訓練キャンプ入門クラス」で完了しました.