我正在编写一个 sql 查询,但仍然遇到同样的错误,不知道如何解决。
select k.klantnr, aantal
from klanten k INNER JOIN(
select d.klantnr, count(d.reisnr) as aantal
from deelnames d
where k.klantnr = d.klantnr
group by d.klantnr) as adeelnames USING(klantnr)
错误:
There is an entry for table "k", but it cannot be referenced from this part of the query.
最佳答案
子查询中不需要关联子句:
select klantnr, aantal
from klanten k INNER JOIN
(select d.klantnr, count(d.reisnr) as aantal
from deelnames d
group by d.klantnr
) adeelnames
USING (klantnr);
USING
子句可以满足您的所有需求。请注意在 SELECT
中也删除了 k.
。
此外,如果您希望计数为 0,您可能需要 LEFT JOIN
。
关于sql - 表 "k"有一个条目,但无法从这部分查询中引用它。子查询 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32075104/