使用INNER JOIN访问特定列时出现问题

问题描述 投票:0回答:1

我有两张桌子ListingsReviews都有一个id列。

我想inner join他们与Listings.id = Reviews.listing_id,但当我在我的pgadmin指定的东西,如listings.idexample.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 postgresql join
1个回答
0
投票

始终限定所有列名称,以便您和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;

请注意,这会引入表别名,这是表的缩写。这样可以更容易地限定列名称(默认别名是完整的表名)。

另外,我可能错在列的来源;您的问题没有关于表结构的完整信息。

© www.soinside.com 2019 - 2024. All rights reserved.