Table
这将返回&复合中的行数的计数Table2
,但我想只返回 的计数Table2
,最好在 ONE select 语句中返回。
SELECT Table.Name, Count(Table2.Active) FROM Table
LEFT JOIN Table2 ON Table2.Active = 1
建议?
Table
这将返回&复合中的行数的计数Table2
,但我想只返回 的计数Table2
,最好在 ONE select 语句中返回。
SELECT Table.Name, Count(Table2.Active) FROM Table
LEFT JOIN Table2 ON Table2.Active = 1
建议?
为什么要为第一个表中的每一行从第二个表中提取一次计数?这是非常低效的。更好的做法:
DECLARE @c INT;
SELECT @c = COUNT(*) FROM dbo.Table2;
SELECT Name, @c FROM dbo.Table;
不,这不符合您对“单一语句”的要求,但我很好奇为什么您认为这是一个良好或有效查询的衡量标准。
在SELECT
子句中编写查询:
SELECT Table.Name, (SELECT Count(Active) FROM Table2)
FROM Table
LEFT JOIN Table2 ON Table2.Active = 1
我没有改变你的表“加入”,但这没有任何意义。