Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wybór spośród zduplikowanych krotek
insooth
post 1.11.2008, 07:25:23
Post #1





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

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


Dawno tutaj nie pisałem, ale tym razem jestem zmuszony do proszenia o radę. Zmuszony swoją niewiedzą...


Mam (przykład) tabelę tabela z kolumnami a oraz b:

Kod
a  b
0  1
2  1
2  4

Chcę wybrać tylko te wiersze a gdzie b jest (jednocześnie dla pewnego a) równe 1 i 4, czyli:

Kod
a  b
2  1
2  4

Próbowałem zrobić tak:

  1. SELECT * FROM tabela WHERE (b = 1 AND b = 4)

ale dostaję pusty wynik. Zastosowanie OR zamiast AND zwraca wszystkie krotki. Męczyłem się z tym wiele godzin, ale bez efektów. Macie jakieś pomysły na zapytanie do tego?


--------------------
--
insooth
Go to the top of the page
+Quote Post
elemek
post 1.11.2008, 11:02:14
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 24
Dołączył: 14.08.2008

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


  1. SELECT
  2. *
  3. FROM ab WHERE (SELECT b FROM ab AS t1 WHERE t1.a = ab.a AND t1.b = 4 LIMIT 1 ) = 4 AND (SELECT b FROM ab AS t1 WHERE t1.a = ab.a AND t1.b = 1 LIMIT 1 ) = 1


--------------------
Rzecz trudną rozbijam na kilka łatwiejszych :)
Pomogłem? Kliknij Pomógł.
Go to the top of the page
+Quote Post
osiris
post 2.11.2008, 12:09:24
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 15
Dołączył: 19.07.2007

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


  1. SELECT a, COUNT(DISTINCT b)
  2. FROM tabela WHERE b IN (1,4)
  3. GROUP BY a
  4. HAVING COUNT(DISTINCT b) = 2


Ten post edytował osiris 2.11.2008, 12:16:29
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 21:40