Ik denk dat je van plan bent:
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;
Opmerkingen:
- Bij een zoekopdracht als deze moet u
SELECT *
. niet gebruiken , moet u expliciet de gewenste kolommen kiezen. De verschillende tabellen hebben kolommen met dezelfde naam. - U moet kolomaliassen gebruiken. Ik heb deze niet in de query gezet, maar ze zijn een goed idee.
- In een echte zoekopdracht zou je uitdrukkingen hebben in de
SELECT
om kolommen vancat_breeds
te combineren endog_breeds
, zoalsCOALESCE(cat_breeds.col1, dog_breeds.col1) as col1
.