Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Zapytanie IN i przedział
Forum PHP.pl > Forum > Przedszkole
JamalBIG
Witam

Czy jest możliwe zastosowanie przedziału w zapytaniu do bazy danych z wykorzystaniem IN np.
  1. ... WHERE parametr IN(5,6,7,8)

a całość prezentowała by się mniej więcej tak:
  1. ... WHERE parametr IN(>=5)


Pozdrawiam
Greg0
Nie łatwiej po prostu
  1. ... WHERE parametr >= 5
JamalBIG
Niestety, tabela jest łączona za pomocą 'LEFT JOIN' która posiada wiele rekordów przypisanych do 'głównej' tabeli;
Greg0
A co to zmienia bo nie bardzo rozumiem
JamalBIG
dzięki IN połączymy wiele rekordów z dołączanej tabeli, bez IN połączymy tylko pierwszy. Poniżej postaram się opisać sytuację.

Tabela główna - 'przedmiot'. W niej mamy pola ID i NAZWA
Dołączamy do niej tabelę 'przedmioty_parametry' w której mamy listę parametrów przedmiotu. Pola w tej tabeli to ID PRZEDMIOT_ID i WARTOSC
Tak jak wspominałem chciał bym wyszukać w dołączanej tabeli kilka wartości czyli potrzebował bym wyciągnąć kilka pozycji z tabeli 'przedmioty_parametry'

Mam nadzieję, że w miarę jasno opisałem sytuację;
bpskiba
BETWEEN
http://funkcje.net/view/2/25/5074/index.html
CuteOne
  1. SELECT pw.*, p.*
  2. FROM produkty_wartosci pw
  3. INNER JOIN produkty p ON (pw.product_id = p.product_id)
  4. WHERE
  5. pw.wartosci IN (5,6,7)


ps. następnym razem wstaw swoj zapytanie, będzie łatwiej rozgryźć w czym problem wink.gif
JamalBIG
Dzięki za odpowiedzi ale czy da się zastosować w IN przedziały albo coś na wór np. 'większe od np. 10', czyli np.
  1. SELECT pw.*, p.*
  2. FROM produkty_wartosci pw
  3. INNER JOIN produkty p ON (pw.product_id = p.product_id)
  4. WHERE
  5. pw.wartosci IN (>5)
Greg0
To ja się jeszcze raz powtórzę
  1. SELECT pw.*, p.*
  2. FROM produkty_wartosci pw
  3. INNER JOIN produkty p ON (pw.product_id = p.product_id)
  4. WHERE
  5. pw.wartosci > 5
JamalBIG
Tak ale kiedy zapytanie wygląda następująco, zwraca pusty rekord, a przedmiot z takimi rekordami jest w bazie danych

  1. SELECT pw.*, p.*
  2. FROM produkty_wartosci pw
  3. INNER JOIN produkty p ON (pw.product_id = p.product_id)
  4. WHERE
  5. (pw.wartosc IN('koko') AND pw.wartosc >= 10)
CuteOne
wartosc = koko AND wartosc >= 10 questionmark.gif trochę nie logiczne smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.