Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wybierz jedną wartość, jeśli istnieje, inną, jeśli nie

Jednym z podejść jest dwukrotne lewe połączenie z katalogiem_tekst_elementu_katalogu. Raz dla ID 0, a drugi dla ID 3, a następnie wykonaj COALESCE w wybranych

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. Korzystanie z różnych silników pamięci masowej MySQL w projektowaniu baz danych

  2. Typ danych Enum a tabela danych w MySQL?

  3. Błąd MySQL #1071 — Określony klucz był za długi; maksymalna długość klucza to 767 bajtów

  4. Zaznaczanie wszystkich pól poza jednym polem w mysql

  5. mysql_real_escape_string VS dodaje ukośniki