Tôi có một bảng lưu trữ nhiều mục cho một tiểu bang và tôi muốn được tính cho mỗi tiểu bang theo các điều kiện cụ thể. Tôi đã viết truy vấn này:Trường hợp và số đếm trong SQL Server 2008
SELECT
State_ID,
State_Name,
State_All= CASE WHEN type1=1 AND type2=1 THEN COUNT(Id) END
State_w= CASE WHEN type1=2 AND type2=1 THEN COUNT(Id) END
State_s= CASE WHEN type1=2 AND type2=2 THEN COUNT(Id) END
FROM
tblStates
nhưng tôi nhận được lỗi này:
Column 'State_ID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Khi tôi thêm GROUP BY
khoản Đối State_ID, tôi đã ở trên lỗi một lần nữa cho STATE_NAME, và khi thêm STATE_NAME để GROUP BY
khoản, tôi đã nhận lỗi cho State_All, State_w, State_s.
Tôi không có cột có tên State_All, State_w, State_s trong bảng của tôi.
Làm thế nào tôi có thể được tính theo điều kiện cụ thể mà không cần sử dụng CURSORS
?
Bạn chỉ thay đổi cách các cột là bí danh. OP đã thử GROUP BY – gbn