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

MySQL JOIN với LIMIT 1 trên bảng đã tham gia

Tôi thích thêm một cách tiếp cận khác được mô tả trong một câu hỏi tương tự: https://stackoverflow.com/a/11885521/ 2215679

Cách tiếp cận này tốt hơn, đặc biệt là trong trường hợp nếu bạn cần hiển thị nhiều hơn một trường trong CHỌN. Để tránh Error Code: 1241. Operand should contain 1 column(s) hoặc chọn kép cho mỗi cột.

Đối với trường hợp của bạn, Truy vấn sẽ giống như sau:

SELECT
 c.id,
 c.title,
 p.id AS product_id,
 p.title AS product_title
FROM categories AS c
JOIN products AS p ON
 p.id = (                                 --- the PRIMARY KEY
  SELECT p1.id FROM products AS p1
  WHERE c.id=p1.category_id
  ORDER BY p1.id LIMIT 1
 )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Giá trị ngày giờ không chính xác:'0000-00-00 00:00:00'

  2. Làm cách nào để xóa tất cả các bản ghi trùng lặp trong bảng MySQL mà không có bảng tạm thời

  3. Bắt java.sql.SQLException:Thao tác không được phép sau khi đóng ResultSet

  4. Tìm kiếm tất cả các lần xuất hiện của một chuỗi trong cơ sở dữ liệu mysql

  5. create_series () tương đương trong MySQL