【问题标题】:Union all and merge in sql合并所有并在sql中合并
【发布时间】:2013-01-14 18:59:33
【问题描述】:

这是我需要的:
我有:

Table A  PT*,NAME,AGE
Table B  PT*,COURSE,RESULT
Table C  PT*,COURSE,RESULT,RANk

想知道我如何 UNION 表 B 和表 C 以及稍后与表 A 合并以获得如下输出(表 D)。 PT是其中的PKey。

PT NAME AGE COURSE RESULT RANK
100 SLK   29  Test1  29          - result of merge between Table A and Table B 
200 AAR   30  Test2  23     10   - result of merge between Table A and Table C

【问题讨论】:

    标签: sql database merge union


    【解决方案1】:

    要获得理想的输出,只需执行一个简单的 SQL SELECT 查询:

    SELECT A.PT, A.NAME, A.AGE, B.COURSE, B.RESULT, C.RANK
    FROM 
    A join B on A.PT=B.PT
    join C ON A.PT = C.PT    
    

    顺便提一下,为什么您需要表 C 中的 COURSE、RESULT 字段,因为它们已经存储在表 B 中?

    【讨论】:

    • 嗨 - 感谢您的回复。表 B 和 C 具有相同的结构,只是表 C 具有 RANK 列。表 B 具有新数据,而 C 具有旧数据。我不想将表 A 与表 B 和表 C 连接起来。我想要将 B 和 C 中的所有数据放在一起(UNION),然后与表 A 连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2013-01-12
    相关资源
    最近更新 更多