![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Witam
Postaram się przedstawić problem możliwie zrozumiale, jeżeli coś będzie niezrozumiałe, dajcie znać; Tabela 'parametry_przedmiotu': |id|przedmiot_id|parametr_id|parametr_wartosc| |--+--------------+-------------+--------------------| |1 | 99 | 20 | biały | |--+--------------+-------------+--------------------| |2 | 99 | 21 | długi | |--+--------------+-------------+--------------------| |3 | 99 | 22 | szklany | |--+--------------+-------------+--------------------| |4 | 80 | 20 | biały | |--+--------------+-------------+--------------------| |5 | 79 | 22 | metalowy | |--+--------------+-------------+--------------------| Z powyższej tabeli potrzebuje wyszukać przedmioty z 'paramter_id' 20 i 21 oraz 'parametr_wartosc': biały i szaklany - (czyli powinienem otrzymać 'przedmiot_id': 99) stosowałem 'AND' i 'OR' ale nie zwracają pożądanego rezultatu; Ten post edytował JamalBIG 23.06.2013, 14:25:58 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- devstrefa.wordpress.com
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
A w jaki sposób wyszukać dodatkowo przedział gdy 'parametr_wartosc' wynosił by np. 8 (można jakoś umieścić przedział w IN?)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak po przecinku umieszczasz wartości jakie mają zostać dopasowane
-------------------- devstrefa.wordpress.com
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Możesz mi podać przykład takiego przedziału w IN?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
po prostu po przecinku dodajesz kolejne opcje które chcesz dopasować np:
-------------------- devstrefa.wordpress.com
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Ale chodzi mi o przedział czyli jeżeli nie znam konkretnej liczby tylko przedział np. 4 a 10
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
do przedziałów masz BETWEEN
-------------------- devstrefa.wordpress.com
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że używa się BETWEEN ale przy jego użyciu wyciągnę jeden rekord a co jeżeli tabela wygląda następująco:
|id|przedmiot_id|parametr_id|parametr_wartosc| |--+--------------+-------------+--------------------| |1 | 99 | 20 | biały | |--+--------------+-------------+--------------------| |2 | 99 | 21 | długi | |--+--------------+-------------+--------------------| |3 | 99 | 22 | szklany | |--+--------------+-------------+--------------------| |4 | 80 | 20 | biały | |--+--------------+-------------+--------------------| |5 | 79 | 22 | 8| |--+--------------+-------------+--------------------| |6 | 79 | 20 | 7| |--+--------------+-------------+--------------------| |7 | 79 | 21 | 6| |--+--------------+-------------+--------------------| |8 | 79 | 22 | 5| |--+--------------+-------------+--------------------| I chcę wyciągnąć rekordy z 'parametr_wartosc': biały, szklany oraz z liczbą między 5 a 7 - biały i szklany wrzucę w IN a przedział? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
możesz to zrobić na kilka sposobów akurat przedział 5-7 nie jest duży ale załóżmy że byłby większy można np tak:
Generalnie musisz poćwiczyć łączenie warunków i wszystko wtedy wyda się jasne. -------------------- devstrefa.wordpress.com
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:24 |