Mysql
 sql >> Base de données >  >> RDS >> Mysql

sélectionner une valeur si elle existe, une autre sinon

Une approche consiste à joindre à gauche deux fois à catalog_product_entity_text. Une fois pour l'ID 0 et une autre pour l'ID 3, puis faites un COALESCE dans votre sélection

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)