【问题标题】:Problem accessing specific column using INNER JOIN使用 INNER JOIN 访问特定列时出现问题
【发布时间】:2019-03-18 10:42:22
【问题描述】:

我有两个表 ListingsReviews 都有一个列 id

我想用Listings.id = Reviews.listing_id 给他们inner join,但是当我在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】:

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

    请注意,这引入了表别名,它们是表的缩写。这使得限定列名更容易(默认别名是完整的表名)。

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

    【讨论】:

      猜你喜欢
      • 2021-11-29
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-26
      • 1970-01-01
      • 2012-12-04
      相关资源
      最近更新 更多