Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wybór spośród zduplikowanych krotek
Forum PHP.pl > Forum > Bazy danych > MySQL
insooth
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?
elemek
  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
osiris
  1. SELECT a, COUNT(DISTINCT b)
  2. FROM tabela WHERE b IN (1,4)
  3. GROUP BY a
  4. HAVING COUNT(DISTINCT b) = 2
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.