Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MySql - Zapytanie dla wyszukiwania, wiele wartości jedna kolumna, NIE IN !
xammil
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 13.02.2011

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


Witam, mam problem z zapytaniem w MySql, problem wyglada tak:

Muszę wyszukać w jednej kolumnie różne wartosci np:

...WHERE
`kolumna_1` = 10 AND
`kolumna_1` = 20 AND
`kolumna_1` = 30 AND

kolumna_1 to (INT)

'prawie' idealnie nadaje się IN (10,20,30), z tym ze potrzebuje wyniku gdzie dla kolumny_1 WHERE wlasnie jest takie jak wyzej

zrobilem to zapytanie z LEFT JOIN, z tym ze łączyłem JOIN'em caly czas ta samą tabelę dla kolejnego AND..., to jest raczej mało wydajne (zakladajac że zapytanie może dojść do 30/40 AND na tej samej kolumnie)

Proszę o pomoc, niestety nie mam żadnego pomysłu na to ....

Pozdrawiam Kamil.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sazian
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


dobra po długiej analizie chyba wiem o co chodzi


wyjaśnienie:
są dwie tabele w relacji 1:n
mają zostać wyświetlone tylko te wyniki z pierwszej tabeli dla których istnieje więcej niż jedna wartość w tabeli drugiej


rozwiązanie - pisane z palca
  1. SELECT *
  2. FROM `artykuly` AS A
  3. LEFT JOIN `artykuly_opcje` AS AP ON (A.`id`=AP.`id_artykulu`)
  4.  
  5. GROUP BY A.`id`
  6. HAVING count(AP.`id_artykulu`)>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: 8.10.2025 - 19:43