Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skomplikowane zapytanie sql, Jak je ugryźć?
L_Devil
post
Post #1





Grupa: Zarejestrowani
Postów: 195
Pomógł: 0
Dołączył: 13.04.2004
Skąd: Łódź

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


Witam!

W mojej bazie danych przechowuję informacje w następującej tabeli:

Kod
+----+-------+---------+---------+
| id | owner |par_name |par_value|
+----+-------+---------+---------+
Gdzie id to jest id wpisu, owner to obiekt, do którego należy dany parametr - par_name nazwa parametru, par_value - jego wartość.
Chciałbym teraz przeprowadzić wyszukanie obiektu po wielu różnych parametrach i nie wiem jak ugryźć zapytanie sql. Powiedzmy taki przypadek:

Znajdź id obiektu (pole owner), którego parametr "nazwa" jest podoba (sql LIKE) do "%Wpisana nazwa%", którego parametr "kategoria" jest równe X, oraz którego parametr "Ocena" znajduje się w sumie zbiorów <1, 2>U<4, 6> (możliwe ułamki)

Jak się zabrać do czegoś takiego?

Nie mam najmniejszego pomysłu, dlatego każdą radę, która mnie naprowadzi na cel przyjmę z wielką wdzięcznością (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Kod
SELECT DISTINCT owner FROM tabela t1
INNER JOIN tabela t2 ON ( t2.owner  =  t1.owner and
    t2.PAR_NAME = 'nazwa' and
    t2.PAR_VALUE LIKE 'pom%'
)

INNER JOIN tabela t3 ON ( t3.owner  =  t1.owner and
    t3.PAR_NAME = 'ocena' and
     ( t3.PAR_VALUE < 2 OR  t3.PAR_VALUE > 4  )
)
WHERE  t1.PAR_NAME = 'kategoria' and t1.PAR_VALUE = 1
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: 3.10.2025 - 07:35