我正在尝试查找一个查询,它会让我查询查询中的另一个表。问题是我不知道在count部分中设置的位置。就像现在一样,它只会返回该表中所有值的计数。
Select
ID as Num,
(select Count(*) from TASK where ID=ID(Also tried Num)) as Total
from ORDER
目标是获得类似
的结果Num Total
_________________
1 13
2 5
3 22
答案 0 :(得分:0)
您需要表别名。所以我想你想要:
Select ID as Num,
(select Count(*) from TASK t where t.ID = o.ID) as Total
from ORDER o;
顺便说一下,ORDER
对于表来说是一个可怕的名称,因为它是SQL中的保留工作。
答案 1 :(得分:0)
您可以将其作为子查询或连接(或OVER语句)。
我认为当您第一次学习SQL
时,连接是最清晰的Select
ID as Num, count(TASK.ID) AS Total
from ORDER
left join TASK ON ORDER.ID=TASK.ID
GROUP BY ORDER.ID