Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak sformułować zapytanie do bazy?
alex2c
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.10.2010

Ostrzeżenie: (0%)
-----


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!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
trafas
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
alex2c
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.10.2010

Ostrzeżenie: (0%)
-----


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;/

Ten post edytował alex2c 16.02.2011, 00:07:09
Go to the top of the page
+Quote Post
trafas
post
Post #4





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


  1. SELECT druga FROM x_tabela WHERE pierwsza IN('a','b','c') GROUP BY druga
Go to the top of the page
+Quote Post
alex2c
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.10.2010

Ostrzeżenie: (0%)
-----


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!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:06