![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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 ... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 20:51 |