Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sformułować zapytanie do bazy?
Forum PHP.pl > Forum > Bazy danych > MySQL
alex2c
Witam Forumowiczów.
Mam taki problem:

IDFIELD | DATA_TXT | ITEMID

a aas 1
32 pon 1
33 wt 1

23 12 2
24 qw 2

Jak wyszukać (jednym zapytaniem) ITEMID (w przykładzie wynikiem powinno być 1), dla którego dla IDFIELD =32 =>DATA_TXT =pon oraz dla IDFIELD =33 =>DATA_TXT =wt ?

Próbowałem różnych sposobów aczkolwiek stopień mojej znajomości nie pozwala na znalezienie rozwiązania tego problemu. Na forach nie potrafię się doszukać.
Proszę o pomoc.
Dziękuję i pozdrawiam!
trafas
Witam,

Możesz wykorzystać IN

  1. SELECT ITEMID FROM twoja_tabela
  2. WHERE IDFIELD IN(32,33) AND DATA_TXT IN('pon','wt')
  3. LIMIT 1



lub OR

  1. SELECT ITEMID FROM twoja_tabela
  2. WHERE
  3. (IDFIELD = 32 AND DATA_TXT = 'pon')
  4. OR
  5. (IDFIELD = 33 AND DATA_TXT = 'wt')
  6. LIMIT 1


Pozdrawiam.
alex2c
Powinienem coś z tego stworzyć wink.gif
Wielkie dzięki !

Hej
A jak zredagować pytanie o np 3 zmienne, które mi podaje użytkownik. Tych 3 zmiennych szukamy w jednej kolumnie i muszą odpowiadać jednej wartości z innej kolumny... np:

użytkownik podaje zmienne a,b,c.

PIERWSZA DRUGA
a 1
b 1

d 0
d 1
e 0
f 0
c 1

Pytanie powinno brzmieć: Znajdź w kolumnie DRUGIEJ wartość dla której w kolumnie PIERWSZEJ znajdziesz wszystkie znaki a,b,c.

SELECT druga FROM x_tabela WHERE a and b and c IN pierwsza ? Raczej niebardzo;/

,a może coś w tym stylu:

"SELECT druga FROM x_tabela GROUP BY druga HAVING pierwsza ('a', 'b', 'c')";

pozdrawiam !

Może mi ktoś pomóc ?
Póki co fiasko z mojej strony;/
trafas
  1. SELECT druga FROM x_tabela WHERE pierwsza IN('a','b','c') GROUP BY druga
alex2c
Hej
IN('a','b','c') to funkcja, która nie sprawdzi czy w kolumnie PIERWSZA są wszystkie 3 wartości (iloczyn logiczny), a jedynie jeśli jakakolwiek z nich jest (suma logiczna).
Popraw mnie jeśli się mylę, bo szukałem i testowałem i klapa.
pozdro!

Problem rozwiązałem przeszukując całą tablicę już po zapytaniu.
Gdyby jednak ktoś z Was mógł mi wytłumaczyć jak w jednej kolumnie wyszukać czy są wszystkie 3 wyznaczone przez usera wpisy jednym zapytaniem to będę wdzięczny.
pozdrawiam!
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.