Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> żółty kwaśny owoc...
yoyo
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 20.12.2003
Skąd: Bielsko-Biała

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


mam taką przykładową tabelę:

Kod
-----------------------------------------

| owoc        | cecha    | wartosc      |

-----------------------------------------

| cytryna     | kolor    | żółty        |

| cytryna     | smak     | kwaśny       |

| pomarańcza  | kolor    | pomarańczowy |

| pomarańcza  | smak     | słodki       |

| banan       | kolor    | żółty        |

| banan       | smak     | słodki       |

| kiwi        | kolor    | zielony      |

| kiwi        | smak     | kwaśny       |

-----------------------------------------


i przykładowo chciałbym znaleźć wszystkie żółte i zarazem kwaśne owoce
(czyli w tym przypadku wynikiem powinna być cytryna)

czy istnieje możliwość, aby wyszukać dany owoc za jednym zapytaniem, mam mysql.
Jeśli nie, to jak najlepiej zoptymalizować takie zapytanie.

Czemu wybrałem takie rozwiązanie? cechy nie są stałymi wartościami, a nie chcę
też aby skrypt modyfikował strukturę tabeli.

ps: sorry, za tytuł topicu, ale wie wiedziałem jak to nazwać...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Jabol
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


nie wiem, czy mysql też to ma, ale w postgresie jest coś takiego jak anonimowy widok (chyba tak to się nazywa). I robi się to tak:
Kod
SELECT * FROM ( SELECT * FROM tabela WHERE cos = cos ) AS temp WHERE cos = cos
Czyli u Ciebie byłoby
Kod
SELECT owoc FROM (SELECT * FROM owoce WHERE cecha = 'smak' AND wartosc='kwasny') AS smaki, (SELECT * FROM owoce WHERE cecha='kolor'  AND wartosc='zolty') AS kolory WHERE smaki.owoc=kolory.owoc
Powinno działać, ale nie ręcze (nie sprawdzałem) i nie wiem jak będzie s MySQL'em (może ma taką podobną możliwość).

@scanner: Jesteś pewien, że to działa bo mi się nie wydaje... :/
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 06:33