Jag tror att du tänker:
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;
Anmärkningar:
- Med en fråga som denna bör du inte använda
SELECT *
, bör du uttryckligen välja de kolumner du vill ha. De olika tabellerna har kolumner med samma namn. - Du bör använda kolumnalias. Jag lade inte in dessa i frågan, men de är en bra idé.
- I en riktig fråga skulle du ha uttryck i
SELECT
för att kombinera kolumner fråncat_breeds
ochdog_breeds
, somCOALESCE(cat_breeds.col1, dog_breeds.col1) as col1
.