sql - 表 "k"有一个条目,但无法从这部分查询中引用它。子查询 SQL

标签 sql database

我正在编写一个 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/

相关文章:

mysql - 根据另一个表中的值从一个表中选择多个值

sql - T-SQL- Sum over Partition by 结合 group by

SQL根据两行中column1中的值选择一个column2

database - 测试数据生成器/生成可靠、非重复但非真实数据库样本数据的最快途径?

java - 多个线程访问数据库 : one with long transaction, 一个带有短事务

mysql - 如何从有序表中过滤行?

sql - 检查两列的外键

java - 将数据从数据库检索到我的应用程序(不工作)

java - 如何使用 Java 将数据从 Oracle 数据库连接到 Kendo Grid?

php - Mysql查询按月存储员工考勤