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

Liệt kê các mục theo danh mục

Bạn có thể muốn tham gia bảng item2cat trên bảng mục của bạn:

SELECT
  item.id
, item.name
, item.desc
FROM item
INNER JOIN item2cat ON item.id = item2cat.itemID
WHERE item2cat.catID = [category_id]

hoặc ví dụ

SELECT
  item.id
, item.name
, item.desc
, category.id
, category.name
FROM item
INNER JOIN item2cat ON item.id = item2cat.itemID
INNER JOIN category ON item2cat.catID = category.id
WHERE category.id IN ( [category_id], [category_id], [category_id])

CẬP NHẬT
Nếu bạn đã thay đổi các ID bảng của mình như thế này:

item (itemId, name, desc)
item2cat (itemId, categoryId)
category (categoryId, name, etc)

bạn có thể viết lại truy vấn đầu tiên như:

SELECT
  item.itemId
, item.name
, item.desc
FROM item
INNER JOIN item2cat USING( itemId )
WHERE item2cat.categoryId = [category_id]

Một ưu điểm khác là id cột của mọi bảng hiện không rõ ràng.



  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 Tham gia cùng một bảng

  2. PHP PDO so với mysql_connect bình thường

  3. Làm thế nào để sao lưu cơ sở dữ liệu MySQL bằng MySQL Workbench?

  4. Chỉ cho phép người dùng thông tin nhất định từ cơ sở dữ liệu

  5. Trả lại một đốm màu với json