Puedo ver un par de opciones. La mayoría de traducción directa parece ser:
SELECT CASE
WHEN m2.MATERIAL IS NOT NULL THEN 'Found'
ELSE 'Not Found'
END AS IZZIT_THERE
FROM SCHEMA.MATERIAL_TABLE m2
RIGHT OUTER JOIN SCHEMA.MATERIAL_TABLE m1
ON m1.MATERIAL = m2.MATERIAL
WHERE m1.OLD_MATERIAL LIKE '%55AD%'
pero el uso de un RIGHT OUTER JOIN
puede ser desconocido. Para cambiar a la más familiar LEFT OUTER JOIN
tenemos que invertir la posición de las tablas en la consulta y alteran la forma de las condiciones que se presentan:
SELECT CASE
WHEN m1.MATERIAL IS NOT NULL THEN 'Found'
ELSE 'Not Found'
END AS IZZIT_THERE
FROM SCHEMA.MATERIAL_TABLE m1
LEFT OUTER JOIN SCHEMA.MATERIAL_TABLE m2
ON m2.MATERIAL = m1.MATERIAL
WHERE m1.OLD_MATERIAL LIKE '%55AD%'
Me quedé con el alias de el mismo, de modo que puede ver cómo se movían alrededor de la consulta. En ambas consultas m1
es la tabla principal, es decir, es la que debe proporcionar los datos, mientras que m2
es la secundaria o "opcional" tabla - puede o no puede tener datos que coincide con la principal.
Personalmente, prefiero que se une a más de subconsultas como me parece más fácil de entender, pero YMMV.