我有没有关系的数据。只需要计算3个表格中的各列,并将它们作为视图显示在页面上。SQL在一个查询中有多个选择计数语句
这是到目前为止的代码,但不工作:
SELECT COUNT(cars) AS A,
(SELECT COUNT(boats) FROM tableBoats) AS B,
(SELECT COUNT(trees) FROM tableTrees) AS C,
FROM tableCars
我有没有关系的数据。只需要计算3个表格中的各列,并将它们作为视图显示在页面上。SQL在一个查询中有多个选择计数语句
这是到目前为止的代码,但不工作:
SELECT COUNT(cars) AS A,
(SELECT COUNT(boats) FROM tableBoats) AS B,
(SELECT COUNT(trees) FROM tableTrees) AS C,
FROM tableCars
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
应该这样做。
这工作!谢谢。我试图接受答案,但它告诉我等5分钟。生病后就做吧! – user999690
@ user999690您不必快速接受答案。当一个问题还没有得到答案时,它动机人们回答它。那么你可以有多个解决方案来解决你的问题:-) –
SELECT *
FROM
(
SELECT 'Nb cars' as description, COUNT(cars) AS count_item FROM tableCars
UNION ALL
SELECT 'Nb boats' as description, COUNT(boats) AS count_item FROM tableBoats
UNION ALL
SELECT 'Nb tress' as description, COUNT(trees) AS count_item FROM tableTrees
) temp
假设你有喜欢这里的表(有一个名为xxx
场tableXxx
表),查询由具有逗号有语法错误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
顺便说一句,你可以简化您的查询
SELECT (SELECT COUNT(cars) FROM tableCars) AS A,
(SELECT COUNT(boats) FROM tableBoats) AS B,
(SELECT COUNT(trees) FROM tableTrees) AS C
其他的答案也完美:)
由于我已经减少了2页的加载时间超过200%,另一个减少了30% – user3455363
这个怎么样?
SELECT
(SELECT COUNT(*) FROM tableCars) car_count,
(SELECT COUNT(*) FROM tableBoats) boat_count,
(SELECT COUNT(*) FROM tableTrees) tree_count
继吕克M的回应,它提供了一个单一的列表,与具有单独值的列。 你可以想象这是多么有用可能是...
SELECT C.Accountnum as AccountNum, C.Address as Address, 'C' as Source
From CustTable C
Where C.AccountNum like '000%'
Union All
Select V.Accountnum as AccountNum, V.Name as Address, 'V' as Source
from VendTable V
Where V.AccountNum like 'A%'
什么是什么数据库您使用的是你和错误? –