2012-05-03 39 views
15

Tôi đang cố gắng lấy số hàng từ truy vấn sau. Tôi chỉ nhận được số lượng hàng là 1 nhưng có 35 bản ghi. Bạn có thể vui lòng cho tôi biết cách nhận số từ truy vấn bên trong không?số đếm (*) từ chọn

Cảm ơn bạn

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) 

Trả lời

31

Bạn đang thiếu một FROM và bạn cần phải cung cấp cho các subquery một bí danh.

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

Cảm ơn bạn rất nhiều. Nó hoạt động. – nav100

+0

@ nav100 tuyệt vời, vui lòng trợ giúp! –

+1

Bất kỳ ý tưởng nào về lý do truy vấn ban đầu của OP là cú pháp hợp lệ? Tôi đã đặt cược trang trại rằng nó sẽ không biên dịch ít chạy hơn nhiều. –