Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pilih satu nilai jika ada, yang lain jika tidak

Salah satu pendekatan adalah dengan meninggalkan join dua kali ke catalog_product_entity_text. Sekali untuk ID 0 dan satu lagi untuk ID 3 lalu lakukan COALESCE di pilih

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bidang MySQL yang diindeks tidak menyimpan nilai saat membuat/mengedit catatan melalui ADO

  2. Id kenaikan otomatis dengan sekuel di MySQL

  3. masalah kunci asing di jdbc

  4. Apa perilaku untuk operator minus antara dua datetime di MySQL?

  5. Strategi untuk menjaga dua database mySQL (di lokasi terpisah) tetap sinkron?