Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysql TRƯỜNG HỢP KHI THAM GIA Lỗi câu lệnh

Tôi nghĩ bạn dự định:

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;

Ghi chú:

  • Với một truy vấn như thế này, bạn không nên sử dụng SELECT * , bạn nên chọn rõ ràng các cột bạn muốn. Các bảng khác nhau có các cột trùng tên.
  • Bạn nên sử dụng bí danh cột. Tôi đã không đưa những điều này vào truy vấn, nhưng chúng là một ý tưởng hay.
  • Trong một truy vấn thực, bạn sẽ có các biểu thức trong SELECT để kết hợp các cột từ cat_breedsdog_breeds , chẳng hạn như COALESCE(cat_breeds.col1, dog_breeds.col1) as col1 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách di chuyển rồi xóa trường trong MySQL

  2. Ví dụ tối thiểu về việc sử dụng select ... để cập nhật để cô lập các hàng

  3. SQL:So sánh hai số đếm từ các Bảng khác nhau

  4. Cập nhật SQl từ bảng Tên ngẫu nhiên

  5. Cách cải thiện hành vi khóa CHÈN VÀO ... CHỌN