sql >> Databáze >  >> RDS >> Mysql

PŘÍPAD Mysql PŘI PŘIPOJENÍ Chyba prohlášení

Myslím, že máte v úmyslu:

SELECT *
FROM `pet_info` LEFT JOIN
     `lostpets`
     ON `pet_info`.`id` = `lostpets`.`petid` LEFT JOIN
     `pet_images`
     ON `pet_info`.`id` = `pet_images`.`petid` LEFT JOIN
     `cat_breeds`
     ON `cat_breeds`.`id` = `pet_info`.`pet_breed` AND
        `pet_info`.`pet_cat` = 2 LEFT JOIN
     `dog_breeds`
     ON `dog_breeds`.`id` = `pet_info`.`pet_breed` AND
        `pet_info`.`pet_cat` = 1
WHERE `pet_info`.`pet_user_id` = 581;

Poznámky:

  • S dotazem, jako je tento, byste neměli používat SELECT * , měli byste výslovně vybrat požadované sloupce. Různé tabulky mají sloupce se stejným názvem.
  • Měli byste používat aliasy sloupců. Nevložil jsem je do dotazu, ale jsou to dobrý nápad.
  • Ve skutečném dotazu byste měli výrazy v SELECT zkombinovat sloupce z cat_breeds a dog_breeds , například COALESCE(cat_breeds.col1, dog_breeds.col1) as col1 .



  1. Jak nastavit asynchronní replikaci mezi clustery MySQL Galera

  2. Vrátit seznam funkcí oddílů v SQL Server (T-SQL)

  3. SQL Server Nejnovější verze, edice a historie SQL Serveru

  4. Převeďte sloupec varchar na datum v mysql na úrovni databáze