== Why is this an issue?

Having all branches of a `CASE`, `IF` or `IIF` chain with the same implementation indicates a problem.

In the following code:

[source,sql]
----
IF @x < 25 -- Noncompliant
  PRINT 'A'
ELSE IF @x < 10
  PRINT 'A'
ELSE
  PRINT 'A'

SELECT
  CASE col1 -- Noncompliant
    WHEN 1 THEN 'A'
    WHEN 2 THEN 'A'
    ELSE        'A'
  END,
  IIF(col1 < 25, 'A', 'A') -- Noncompliant
 FROM table1
----

Either there is a copy-paste error that needs fixing or an unnecessary `CASE`, `IF`, or `IIF` chain that needs removing.

=== Exceptions

This rule does not apply to `IF` or `CASE` chains without `ELSE` clauses.


[source,sql]
----
IF @x < 25 -- no issue, this could have been done on purpose to make the code more readable
  PRINT 'A'
ELSE IF @x > 10
  PRINT 'A'
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
