Mysql
 sql >> база данни >  >> RDS >> Mysql

Избройте елементите по категории

Вероятно искате да да се присъедините таблицата item2cat във вашата таблица с артикули:

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

или например

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])

АКТУАЛИЗИРАНЕ
Ако сте променили идентификаторите на таблицата си по следния начин:

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

можете да пренапишете първата заявка като:

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

Друго предимство е, че id колоната на всяка таблица вече е недвусмислена.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция за извикване на MySqlCommand

  2. Какви са всички тези SQL оператори в Laravel?

  3. Rails, MySQL и Snow Leopard

  4. Преглед на кръстосаната репликация на PostgreSQL и MySQL

  5. Заобиколно решение за MySQL ограничен диапазон TIMESTAMP?