Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tablica w polu i odwołanie do jej elementów
Forum PHP.pl > Forum > Bazy danych > MySQL
colb
Cześć,

potrzebuję pomocy w temacie, z którym nie mogę sobie poradzić od kilu dni. Sprawa wygląda tak:

Jest tabela produkty, która zwiera m.in kolumny nazwa, kategoria.
Kolumna kategoria zawiera ID kategorii lub tablicę złożoną z wielu ID, np:
  1. |----nazwa---|--- kategoria ---|
  2. |---- p1 ---|--- 1 ---|
  3. |---- p2 ---|--- 1;2 ---|

jak ułożyć zapytanie, które wyświetli wszystkie produkty z kategorii o id 1 ?

zapytanie:
  1. SELECT * FROM produkty WHERE kategoria = 1

pomija rekord drugi, który chciałbym aby został wyświetlany, czy da się na samym zapytaniu rozbić pole kategoria dla porównania z WHERE ?

Dzięki za jakąkolwiek pomoc.
nospor
Masz złą strukturę. To powinno wyglądać tak:
PRODUKTY
id
nazwa
jakies inne pole

PRODUKTY_KATEGORIA - tablica wiążaca produkt z kategoriami
id_produkt
id_kategoria

To jest prawidłowo struktura. Wówczas możesz wszystko bez problemu wyciągnąć.
colb
Dzięki za szybką odpowiedź, potwierdź proszę czy dobrze zrozumiałem.

Jeśli dany produkt jest przypisany do n kategorii, to powinno być n rekordów w tabeli PRODUKTY_KATEGORIA a nie wymieniać ich w jednym rekordzie?
nospor
tak
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.