Mam tabeli jako takiSQL SELECT wiersze tylko pewnej wartości w nich
Col 1 Col 2 Col 3
1 A 1
2 A 2
3 B 1
4 C 1
5 C 2
6 D 1
Jak mogę dostać tylko unikalne wiersze, które mają Kol 3 = 1?
Chcę uzyskać wiersze 3 i 6 (Col 2 = B i D odpowiednio). Nie chcę A ani C, ponieważ mają również Col 3 = 2.
Próbowałem coś wzdłuż linii:
select col 2 from table group by col 2 having count(col 3) = 1
Ale to tylko wychowuje Kol 2 do wyników, więc jestem pewien, czy Kol 3 zawartość = 1, czy nie.
EDIT: Przykro mi, chłopaki, może nie powiedziałem wyraźnie mojego pytania. Chcę uzyskać wszystkie wiersze Col 2, które zawierają tylko Col 3 = 1 I TYLKO 1.
Więc jeśli spróbowałem GDZIE , to zwróciłoby 4 wiersze, ponieważ A ma 1. Ale ponieważ A również ma wiersz, w którym Col 3 = 2, nie chcę tego, to samo dla C. Z tej przykładowej tabeli, I chciałbym, aby wynik końcowy pokazywał tylko 2 wiersze, B i D.
Moja przykładowa tabela jest przykładem, faktycznie mam około 5000 wierszy do przefiltrowania, w przeciwnym razie zrobiłbym to, co zaproponowaliście:
select * z tabeli gdzie czas Col3 = 1 – AllisonC
t'is czytać Samouczek sql: http://www.w3schools.com/sql/default.asp –
Przykro mi, chłopaki, to nie jest tak proste, jak się wydaje. Chyba że brakuje mi czegoś wywnioskowanego z tego zapytania SQL przez AllisonC. – MHTri