Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> "skaplikowane" zapytanie prosze o pomoc
micz84
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.10.2004
Skąd: Niemcz

Ostrzeżenie: (0%)
-----


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>

Ten post edytował micz84 9.10.2006, 20:36:33
Go to the top of the page
+Quote Post
Luciano
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 1
Dołączył: 26.07.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


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

Ten post edytował Luciano 10.10.2006, 09:59:10


--------------------
Go to the top of the page
+Quote Post
micz84
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.10.2004
Skąd: Niemcz

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:36