![]() ![]() |
| -lukasamd- |
Post
#1
|
|
Goście |
Witam,
mam tabelę o takiej strukturze: id | element_id | type_id | value Chciałbym w 1 zapytaniu pobrać określone id i element_id pogrupowane poprzez type_id. Do jednego type_id może być wiele element_id Jak więc powinno to wyglądać, aby w PHP można było to potem sensownie podzielić (musi być 1 zapytanie)? Nie wiem czy zapytanie jest dobre, ale powinno zobrazować o co mi chodzi:
Obawiam się jednak, że OR zostanie źle potraktowane, tzn. równolegle do AND, a powinno być tak jak w zapisie logicznym (nawiasy): ((element_id IN (1,5,8,9,10)) && (type_id = 1)) || ((element_id IN (2,7,15)) && (type_id = 2)) || ((element_id IN (3,6,12,13,14)) && (type_id = 3)) Aha, dla różnych type_id mogą występować TAKIE SAME element_id (nie uwzględniłem tego w przykładzie). Ten post edytował lukasamd 13.02.2010, 09:11:53 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%)
|
A czy
element_id IN (1,5,8,9,10) AND type_id = '1' oprócz liczb w nawiasie element_id może przyjąć inną wartość type_id (IMG:style_emoticons/default/questionmark.gif) |
|
|
|
| -lukasamd- |
Post
#3
|
|
Goście |
Nie.
Type_id są wstawiane "na sztywno". Zakres IN de facto dla każdego przedziału również jest jawny (acz kompletowany i wrzucany do zapytania po kilku operacjach w php). Chodzi o to, że dla innych type_id mogą być wartości element_id o takich samych wartościach (traktujemy type_id niejako kategorię), zaś chciałbym to logicznie w sql rozpisać. |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 19:49 |