SQL - 错误:没有这样的列 - 连接表

酮酶

问题如下。当我选择第一个表时,所有列都存在。当我选择第二个表时,所有列也都存在。但是当我尝试加入他们时,我加入的专栏却从来不存在。我放弃了:(有什么帮助吗?

表格1:

TABLE 'reviews' ('overall' integer NOT NULL, 'provider_id'  INTEGER NOT NULL  );

表 2:

TABLE 'providers' ('id' integer NOT NULL, 'name'  text NOT NULL  );

这有效:

SELECT * FROM reviews;
SELECT * FROM providers;

这显示了一个错误:“错误:没有这样的列:reviews.provider_id”

SELECT * FROM providers 
JOIN (SELECT * FROM reviews)
ON providers.id = reviews.provider_id;
戈登·利诺夫

您需要表别名。我会省去子查询:

SELECT *
FROM providers p JOIN
     reviews r
     ON p.id = r.provider_id;

如果你真的想要子查询,你仍然需要一个别名:

SELECT *
FROM providers p JOIN
     (SELECT * FROM reviews) r
     ON p.id = r.provider_id;

但是不需要子查询,也不推荐。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章