SQL一个查询中的多个select count语句

use*_*690 6 sql t-sql database

我的数据没有关系.只需要计算3个表中的各个列,并将它们作为视图显示在页面上.

到目前为止这是代码,但不起作用:

SELECT COUNT(cars) AS A,
       (SELECT COUNT(boats) FROM tableBoats) AS B,
       (SELECT COUNT(trees) FROM tableTrees) AS C,
 FROM tableCars
Run Code Online (Sandbox Code Playgroud)

Stu*_*rth 15

SELECT A, B, C
FROM (SELECT COUNT(cars) as A FROM tableCars) a
CROSS JOIN (SELECT COUNT(boats) as B FROM tableBoats) b
CROSS JOIN (SELECT COUNT(trees) as C FROM tableTrees) c
Run Code Online (Sandbox Code Playgroud)

应该这样做.


biz*_*lop 14

假设你有一个像这里的表(tableXxx有一个名为的字段的表xxx),你的查询有一个语法错误,后面有一个逗号AS C,,没有逗号,它正常工作(至少使用sqlite,因为mssql不能在sqlfiddle工作) :

http://sqlfiddle.com/#!5/5fa6c/3

SELECT COUNT(cars) AS A,
       (SELECT COUNT(boats) FROM tableBoats) AS B,
       (SELECT COUNT(trees) FROM tableTrees) AS C
FROM tableCars
Run Code Online (Sandbox Code Playgroud)

顺便说一下,你可以简化你的查询

SELECT (SELECT COUNT(cars ) FROM tableCars ) AS A,
       (SELECT COUNT(boats) FROM tableBoats) AS B,
       (SELECT COUNT(trees) FROM tableTrees) AS C
Run Code Online (Sandbox Code Playgroud)

其他答案也很完美:)