Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

selecione um valor se existir, outro se não


Uma abordagem é juntar duas vezes à esquerda para catalog_product_entity_text. Uma vez para ID 0 e outra para ID 3 e depois faça um COALESCE no seu select
SELECT
..
 COALESCE(`short_description_id`.`value` , `short_description_id_DEFAULT`.`value`) AS `short_description`
..
FROM 
...

     LEFT JOIN `catalog_product_entity_text` AS `short_description_id` 
     ON p2c.product_id = short_description_id.entity_id 
         AND short_description_id.attribute_id = 62
         AND (short_description_id.store_id = 3)

     LEFT JOIN `catalog_product_entity_text` AS `short_description_id_DEFAULT` 
     ON p2c.product_id = short_description_id.entity_id 
         AND short_description_id.attribute_id = 62
         AND (short_description_id.store_id = 0)