2012-05-03 27 views
15

Próbuję uzyskać liczbę wierszy z następującego zapytania. Otrzymuję tylko liczbę wierszy jako 1, ale jest 35 rekordów. Czy mógłbyś dać mi znać, jak uzyskać licznik z wewnętrznego zapytania?wybierz liczbę (*) z wybierz

Dziękuję

SELECT COUNT(*)(SELECT DISTINCT a.my_id, a.last_name, a.first_name, b.temp_val 
       FROM Table_A a INNER JOIN Table_B b on a.a_id = b.a_id) 

Odpowiedz

31

Brakuje FROM i trzeba dać Podzapytanie aliasu.

SELECT COUNT(*) FROM 
(
    SELECT DISTINCT a.my_id, a.last_name, a.first_name, b.temp_val 
    FROM dbo.Table_A AS a 
    INNER JOIN dbo.Table_B AS b 
    ON a.a_id = b.a_id 
) AS subquery; 
+0

Dziękuję bardzo. To działa. – nav100

+0

@ nav100 świetny, chętnie pomoże! –

+1

Jakieś pomysły dotyczące tego, dlaczego oryginalne zapytanie OP było poprawnej składni? Założę się, że farma, której nie skompilowałaby, nie uciekłaby znacznie. –