sql >> Databáze >  >> RDS >> Mysql

Seznam položek podle kategorií

Pravděpodobně se budete chtít připojit tabulka item2cat na vaší tabulce položek:

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

nebo například

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

AKTUALIZACE
Pokud jste změnili ID tabulek takto:

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

můžete přepsat první dotaz takto:

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

Další výhodou je, že id sloupec každé tabulky je nyní jednoznačný.



  1. Jak aktualizovat verzi enginu MySQL v ClearDB?

  2. Jak obnovit soubor výpisu PostgreSQL do databází Postgres?

  3. Obnovte databázi mysql ze souborů .frm

  4. Proč moje pesimistické zamykání v JPA s Oracle nefunguje