sql >> Databasteknik >  >> RDS >> Mysql

välj ett värde om det finns, ett annat om inte

Ett tillvägagångssätt är att vänsteransluta två gånger till catalog_product_entity_text. En gång för ID 0 och en annan för ID 3 och gör sedan en COALESCE i ditt val

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. Köra en mySQL-fråga som ett cron-jobb?

  2. Postgres:konvertera en rad till flera rader (unpivot)

  3. VÄLJ * FRÅN Länkad MySQL-server

  4. UPDATE-FROM-satsen i jOOQ ger en förväntan för CTE-fältet