Mysql
 sql >> Database >  >> RDS >> Mysql

selezionare un valore se esiste, un altro in caso contrario

Un approccio consiste nell'unire a sinistra due volte a catalog_product_entity_text. Una volta per l'ID 0 e un'altra per l'ID 3, quindi esegui un COALESCE nella tua selezione

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)