代码之家  ›  专栏  ›  技术社区  ›  Klian

使用内部联接从一个表中获取所有字段?

  •  4
  • Klian  · 技术社区  · 14 年前

    我有这个:

    SELECT stats.*, 
    DISTINCT(visit_log.blog_id) AS bid 
    FROM stats 
    INNER JOIN visit_log ON stats.blog_id = visit_log.blog_id
    

    您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以获得使用“DISTINCT”附近的正确语法(请访问_日志.blog\u id)作为出价从统计内部加入访问\u登录统计信息.博客'在第1行

    你知道吗?

    4 回复  |  直到 8 年前
        1
  •  8
  •   Martin    14 年前

    select stats.*, v.blog_id 
    from stats 
    inner join ( select distinct blog_id from visit_log where stats.blog_id = visit_log.blog_id ) as v
    
        2
  •  1
  •   Mitch Wheat    14 年前
    SELECT stats.*, dr.blog_id
    FROM stats
    INNER JOIN (SELECT DISTINCT(visit_log.blog_id) AS bid FROM visit_log) AS dr 
          ON stats.blog_id = dr.blog_id
    
        3
  •  0
  •   Lord Peter    14 年前

    您只能从您要加入的栏目“访问日志”中选择blog\u id。所以你的查询很像:

    select * 
    from stats s 
    where 
    exists (select null from visit_log v where s.blog_id = v.blog_id)
    
        4
  •  0
  •   Tensibai    10 年前
    select * from visit_log v where v.blog_id in/= (select s.blog_id from stats s)