sql >> Base de Datos >  >> RDS >> Mysql

Mostrar una fila por término de búsqueda, sustituir por defecto si no se encuentra

Esto podría funcionar:

select case when p.name is null then 'NO' else 'YES' end as barcode_exists, t.barcode
from product as p
right join (
    select 681027 as barcode union
    select 8901030349379 union
    select 679046 union
    select 679047 union
    select 679082 union
    select 679228 union
    select 679230 union
    select 679235 union
    select 679236 union
    select 679238 union
    select 679328 union
    select 679330 union
    select 679528 union
    select 679608
            -- all the rest barcodes
) as t on p.barcode = t.barcode

En union pon todos los códigos de barras que quieras comprobar.

Añadido:

Devuelve dos columnas para hacer coincidir el código de barras y respuesta porque no puede retransmitir el orden de las filas a menos que especifique uno.