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
xammil
post
Post #2





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

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


kolumny wygladaja tak

id_atrybutu, id_wartosci, wartosc_specjalna

10, 100, 1000
20, 200, 2000
30, 300, 3000
40, 400, 400

przykladowe wartości

i teraz senk w tym ze zawsze beda tworzone nowe atrybuty z nowymi wartosciami a w tym wyzej trzymam jedyne konfiguracje, fajnie by bylo miec dla kazdego atrybutu kolumne ale to wiarze sie z tym ze za kazdym razem gdy towrze/usuwam atrybut zmieniam baze, to co jest wyzej jest idealnym polaczeniem samych atrybutow z artykulem (w jednej tabeli trzymam wszystkie atrybuty, w drugiej wszystkie wartosci a w trzeciej polaczenie dla artykulu atrybut->wartosc->wartosc_specjalna (czyli id do polaczenia z poprzednimi tabelami) )

zapytanie ma wyciagac konfiguracje gdzie dla artykulu jest wybrany 'ten' 'ten' i 'ten' atrybut z 'takimi' 'takimi' 'takimi' wartosciami czyli 3 atrybuty z konkretnymi wartosciami
np

10, 100, 1000
20, 200, 2000
30, 300, 3000

wszystkie trzy musza byc przypisane do artykulu

i tu jest problem bo sam wiesz AND id_attr=30 ANd id_attr=33 nie ma prawa buty...

wydaje mi sie ze nie ma mozliwosci zrobic tego zapytania w mysql musze wybrac w miare sensownie dane z bazy i przemielic je w php z tym ze tych wynikow moze byc nawet 600*30 ...
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 - 20:51