问题如下。当我选择第一个表时,所有列都存在。当我选择第二个表时,所有列也都存在。但是当我尝试加入他们时,我加入的专栏却从来不存在。我放弃了:(有什么帮助吗?
表格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] 删除。
我来说两句