sql >> Database >  >> RDS >> Mysql

selecteer een waarde als deze bestaat, een andere indien niet

Een benadering is om twee keer links te joinen naar catalog_product_entity_text. Een keer voor ID 0 en een andere voor ID 3 en doe dan een COALESCE in uw selectie

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) 



  1. Mysql Een record bijwerken met een waarde uit het vorige record

  2. PostgreSQL - krijg gematerialiseerde metagegevens van de weergavekolom

  3. Moet ik echt SET XACT_ABORT ON gebruiken?

  4. Bekijk mijn presentatie 'Optimaliseren van Microsoft Access met SQL Server'