We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.

I had very similar code but I put the 'Iscoceles' case statment before the 'Not a Triangle' one and it caused an error. The order in which you check the statments can really reduce the logic in your code :)

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

You don't need to have multiple CASE statements next to each other or nested CASEs. If you check the conditions in the right order, only one CASE statement with multiple WHENs will do the job:

When the Isosceles and Equilateral case statements order are reversed, that is the Equi is checked after Isos then the test case fails. Is it a necessaity to do this in this ordeR?

## Type of Triangle

You are viewing a single comment's thread. Return to all comments →

I had very similar code but I put the 'Iscoceles' case statment before the 'Not a Triangle' one and it caused an error. The order in which you check the statments can really reduce the logic in your code :)

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

Exactly! I have been saying that in few comments!

You don't need to have multiple CASE statements next to each other or nested CASEs. If you check the conditions in the right order, only one CASE statement with multiple WHENs will do the job:

I think this is the cleanest and shortest answer...

When the Isosceles and Equilateral case statements order are reversed, that is the Equi is checked after Isos then the test case fails. Is it a necessaity to do this in this ordeR?