如何使用子查询编写计数(*)?
select count(*) from Firms
select count(*) from (select * from Firms)
在上面的两行中,第一行有效,但是在第二行中,我得到了错误:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ')'.
但不是(select * from Firms)
==Firms
吗?
编辑: 但是为此:
select count(*) from
(
select HireResponseID, HireResponse, DateResponse, Comments, YearFileOpened, file_number, isCaseOpen, last_update, isConfidential, date_created, OurClient, TheirClient, ProjectName, description, lawyer_lastname, lawyer_firstname, Conflicts.ConflictID
from Hire_Response, Conflicts, Lawyers
WHERE Hire_Response.ConflictID=Conflicts.ConflictID AND Lawyers.lawyerID=Conflicts.lawyerID AND firmID = @FirmID AND HireID = @HireID AND isStillaConflict = 1
ORDER BY file_number, TheirClient, OurClient, lawyer_lastname, lawyer_firstname
) as data
我得到错误:
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.
我怎样才能解决这个问题?