Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: "skaplikowane" zapytanie prosze o pomoc
Forum PHP.pl > Forum > Bazy danych > MySQL
micz84
witam,
zanim wyjasnie o jakie zapytanie chodzi przedstawie jakie tabele by isnialy

Kod
CREATE TABLE `czesci` (
`idcz` INT NOT NULL AUTO_INCREMENT ,
`nazwa` TEXT NOT NULL ,
PRIMARY KEY ( `idcz` )
) COMMENT = 'Spis część';

Kod
CREATE TABLE `produkty` (
`idp` INT NOT NULL AUTO_INCREMENT ,
`nazwa` TEXT NOT NULL ,
`czesc1` INT NOT NULL ,
`czesc2` INT NOT NULL ,
`czesc3` INT NOT NULL ,
PRIMARY KEY ( `idp` )
) COMMENT = 'Tabela zawierajaca produkty';

Kod
CREATE TABLE `magazyn` (
`idczm` INT NOT NULL AUTO_INCREMENT ,
`czesc` INT NOT NULL ,
PRIMARY KEY ( `idczm` )
) COMMENT = 'Czesci znajdujace sie w magazynie';

W tabeli czesci znajduja sie rozne elementy, powiedzmy 20. w tabeli produkty znajduja sie produkty ktore skladaja sie z tych czesci, ale nie wszystkich tylko niektorych, nie zawsze tych samych. w tabeli magazyn znajduja sie czesci ktore sa aktualnie na stanie, nie koniecznie wszystkie z tabeli czesci. Tabele sa uproszczone powinny byc jeszcze ilosci, ale to nie jest istotne.
Chodzi o takie zapytanie, ktore wyswietliloby tylko te produkty ktore da sie zlozyc z czesci znajdujacych sie w magazynie. Mam nadzieje ze nie zamieszalem za bardzoe byl bym wdzieczny za pomoc.
Pozdrawiam.
Mam jeszcze jedno pytanko czy jest moliwosc laczenia zapytan kaskadowo?? np Select ... from tabela where <kryterium> z Select ... from tabela where <kryterium2>
Luciano
Wynika z tego ze kazdy produkt sklada sie z czesc1,czesc2,czesc3 IMHO nie jest to doskonala struktura, chyba ze czegos nie zrozumialem, na upartego mozna

  1. SELECT * FROM produkty WHERE czesc1 IN (SELECT nazwa FROM czesc) AND czesc2 IN (SELECT nazwa FROM czesc) AND czesc3 IN (SELECT nazwa FROM czesc)


to zapytanie nie wydaje mi sie doskonale ale to pierwsze co przyszlo mi do glowy i powinno dzialac smile.gif
micz84
nie wiem czemu jak wpisalem tak jak ty mi podales to nie dzialalo ale jak najpierw pobralem zawartosc magazynu a potem wstawilem to do zapytania w formie (2,4,7) to zadzialalo. wielkie dzieki za pomoc nie pamietalem "IN" probowalem to na inner joinach zrobic. jeszcze raz dzieki pozdrawiam.
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.