编写一个查询,该查询使用三个边长来标识TRIANGLES表中每个记录的类型。为表中的每个记录输出以下语句之一:
等边线:这是一个边长相等的三角形。 等腰:这是一个三角形,边长相等。 Scalene:这是一个边长不同的三角形。 不是三角形:A,B和C的给定值不会形成三角形。
答案 0 :(得分:0)
SELECT CASE
WHEN ((a.A + a.B) <= a.C)
THEN 'Not A Triangle'
ELSE
CASE
WHEN ((a.A = a.B) AND (a.B = a.C))
THEN 'Equilateral'
ELSE
CASE
WHEN ((a.A = a.B) or (a.B = a.C) or (a.A = a.C))
THEN 'Isosceles'
ELSE
CASE
WHEN ((a.A != a.B) AND (a.B != a.C) AND (a.A != a.C))
THEN 'Scalene '
END
END
END
END
FROM TRIANGLES a;
答案 1 :(得分:0)
简短版本:
select case
when ((t.A+t.B)<=t.C)
then 'Not A Triangle'
else
case
when (t.A = t.B) and (t.A = t.C) then 'Equilateral'
else
case
when (t.A = t.B) or (t.A=t.C) or (t.C=t.B) then 'Isosceles'
else
'Scalene '
end
end
end
from TRIANGLES as t
答案 2 :(得分:0)
HackeRrank MySQL - 三角测验类型!
select case
when ((t.A+t.B)<=t.c) then 'Not A Triangle'
else
case
when (t.A=t.B) and (t.B=t.c) then 'Equilateral'
else
case
when (t.A = t.B) or (t.A = t.C) or (t.B = t.C) then 'Isosceles'
else
'Scalene'
end
end
end
from triangles as t;