我有两张桌子Listings
和Reviews
都有一个id
列。
我想inner join
他们与Listings.id = Reviews.listing_id
,但当我在我的pgadmin
指定的东西,如listings.id
或example.example
似乎它不认识它。
我收到错误:
缺少表“列表”的FROM子句条目
我写错了吗?这是代码:
SELECT
id, listing_url, reviewer_id, reviewer
FROM
public."Listings"
INNER JOIN public."Reviews" ON Listings.id = listing_id
WHERE
reviewer = 'Vivek'
order by
reviewer_id;
始终限定所有列名称,以便您和SQL引擎知道列的来源。目前尚不清楚列的来源。我已经猜到了列的来源:
SELECT l.id, l.listing_url, r.reviewer_id, r.reviewer
FROM public."Listings" l INNER JOIN
public."Reviews" r
ON l.id = r.listing_id
WHERE r.reviewer = 'Vivek'
ORDER BY r.reviewer_id;
请注意,这会引入表别名,这是表的缩写。这样可以更容易地限定列名称(默认别名是完整的表名)。
另外,我可能错在列的来源;您的问题没有关于表结构的完整信息。