首页 > 解决方案 > SQL/Postgres 如何使用 knex 库连接两个不同的表

问题描述

我试图从两个不同的表中获取一个新表:tweet,混合新表。新表需要包含它自己的所有列(包括作为主键的id)和里面的行+混合表列(那是包含post_id)+里面的数据。我试图在 id=post_id 的两个表之间加入。我认为有必要以某种方式让用户左连接来包含推文表的所有数据行。

混合新表

SELECT *
FROM (SELECT post_id,COUNT(post_id) as retweet_count
      FROM retweet
      GROUP BY post_id 
     ) r FULL JOIN
     (SELECT post_id, COUNT(post_id) as likes_count
      FROM likes
      GROUP BY post_id 
     ) l
     USING (post_id);

我试图得到的结果是这样的:

id|  tweet table columns  |retweet_count|likes_count|
1       info                     2            0
2       info                     2            2
3       info                     0            0
4       info                     0            3

如果有人知道如何查询这个,我会很高兴。(将其翻译为 knex postgres libray)

标签: sqlpostgresqlleft-joinknex.js

解决方案


推荐阅读