【问题标题】:Select rows from SQL table and merge on those particular rows to another table从 SQL 表中选择行并将这些特定行合并到另一个表
【发布时间】:2018-08-08 17:36:20
【问题描述】:

我在 SQL 中有 2 个表。在 Publications 表中,我只对一些具有我感兴趣的 ID 的行感兴趣。我使用此代码来隔离我感兴趣的行:

SELECT * FROM publications 
    WHERE publications.id IN (175428,547257,526852)

第二个表格包含作者人口统计数据。

目标:

我想将 Publications 表中我感兴趣的行合并到 author 表中。我想在 author_id 上合并。我想要作者表中的所有列,但只有出版物表中的一些列,例如“链接”

额外:

合并后,是否可以按国家/地区过滤掉合并后的表?

表格示例:

publications | ID| author_id| link|

tipping point|5  |124543    |www.tfjd.com

clink        |2  |674255    |www.tfjd.com

author_id|name            |country

124543   |Malcomn Gladwell|US

437821   |JK Rowling      |UK

【问题讨论】:

  • MySQL SQL Server。你真正在用什么?

标签: mysql sql sql-server database


【解决方案1】:

您可以使用以下查询:

SELECT
        a.*,
        p.link,
        p.publications
FROM
        Publications p
    JOIN
        Author       a
            ON p.ID = a.author_id
WHERE
        p.id IN (175428, 547257, 526852)
        AND a.country = 'US';  --If you want to filter on country = US

【讨论】:

  • 谢谢!如何从 Publications 表中选择多个列?
  • 您可以使用, p.columnname 添加列。更新了我的答案以从 Publications 表中添加 Publications 列。
猜你喜欢
  • 2017-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多