Witam ;-)
Mam w bazie tabelę Osoby posiadającą różne kolumny,między innymi Osoby.imie, Osoby.nazwisko, Osoby.ID_mieszkania.
Wiem, że jeśli w tabeli tej wystąpią rekordy o takim samym imieniu i nazwisku, to oznaczają one jedną osobę.
Zadaniem moim jest poznać liczbę kobiet i liczbę mężczyzn w tabeli, operając się na tym, że imiona kobiet i tylko kobiet kończą się na *a
Teraz robię to tak:
SELECT *
FROM
(
SELECT
Count(*) AS FACECI
FROM
(
SELECT
DISTINCT *
FROM
(
SELECT
Osoby.Imie,
Osoby.Nazwisko
FROM
Osoby
) AS A
)
HAVING A.Imie NOT LIKE "*a"
) AS F,
(
SELECT
Count(*) AS KOBIETY
FROM
(
SELECT
DISTINCT *
FROM
(
SELECT
Osoby.Imie,
Osoby.Nazwisko
FROM
Osoby
) AS B
)
HAVING B.Imie LIKE "*a"
) AS K
Działać działa, ale czuję, że jest to zapewne bardzo brzydkie i nieoptymalne zapytanie.
Jak można coś takiego zrealizować najlepiej?