从SQL表中选择行,然后将这些特定行合并到另一个表中

时间:2018-08-08 17:36:21

标签: mysql sql sql-server database

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

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

第二张表列出了作者的受众特征。

目标:

我想将我感兴趣的行从发布表合并到作者表。我想在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

1 个答案:

答案 0 :(得分: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