Estoy tratando de usar la declaración NESTED CASE (BOLD A continuación) donde, según la primera declaración CASE, necesito verificar la cláusula where interna, de lo contrario, otra cláusula where interna. ¿Está el enfoque de abajo a la derecha cuando se usan declaraciones CASE When anidadas?
SELECT COUNT(*) FROM <list of table> WHERE <list of conditions > AND CASE WHEN cond1 <> 1 or cond2 <>2 or cond3 <> 3 THEN WHEN ( col1,col2,col3) NOT IN (SELECT col1,col2,col3 FROM table 1,table 2 WHERE <condition1> ) ELSE ( col1,col2,col3,col4) NOT IN (SELECT col1,col2,col3,col4 FROM table 1,table 2 WHERE <condition2> ) ENDUtilice AND y OR :
SELECT COUNT(*) FROM <list of table> WHERE <list of conditions > AND ( ( ( cond1 <> 1 OR cond2 <> 2 OR cond3 <> 3 ) AND (col1,col2,col3) NOT IN (SELECT col1,col2,col3 FROM table1 INNER JOIN table2 ON (<condition>) WHERE <condition1>) ) OR ( NOT ( cond1 <> 1 OR cond2 <> 2 OR cond3 <> 3 ) AND (col1,col2,col3,col4) NOT IN (SELECT col1,col2,col3,col4 FROM table1 INNER JOIN table2 ON (<condition2>) WHERE <condition2> ) ) )Notas: No utilice combinaciones de coma heredadas, utilice la sintaxis de combinación ANSI moderna.