Miałem nadzieję uruchomić jedno zapytanie i uzyskać z tego wyniki. Jednak MSSQL skarży się na błąd składniowy w pobliżu słowa kluczowego GROUP
. Miałem nadzieję, że zrobię co następuje.Subselect nie działa, ale jako widok działa
SELECT COUNT(*) AS cnt,Field_2
FROM (SELECT DISTINCT Field_1, Field_2
FROM Table_1)
GROUP BY Field_2
HAVING COUNT(*) > 1
Zamiast tego musiałem utworzyć widok, View_1, z kwerendy
SELECT DISTINCT Field_1, Field_2
FROM Table_1
a następnie wykonaj
SELECT COUNT(*) AS cnt, Field_2
FROM View_1
GROUP BY Field_2
HAVING COUNT(*) > 1
Powstaje pytanie, dlaczego, moim zdaniem to jest w zasadzie ten sam SQL.
Uwaga: Nazwy pól, tabel i widoków zostały zmienione, aby chronić niewinnych. ;-)
Aha proste rozwiązanie. Wielkie dzięki. –
Aby być uczciwym, SQL Server nie może być obwiniany za ten zły projekt językowy, ponieważ jest określony w Standardowym SQL-92. W swoich pismach [Hugh Darwen] (http://www.dcs.warwick.ac.uk/~hugh/TTM/Importance-of-Column-Names.pdf) zawsze stosuje pejoratywną nazwę korelacji tabeli (coś innego z SQL -92; 'alias' jest kolokwialny :) taki jak 'TEETH_GNASHER'. – onedaywhen