首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们是否可以联合两个具有不同列数的表,以便查询通过计算额外的列来添加空列?

我们是否可以联合两个具有不同列数的表,以便查询通过计算额外的列来添加空列?
EN

Stack Overflow用户
提问于 2018-03-23 23:03:07
回答 3查看 102关注 0票数 0

我有一些表格,其中的数据是在一年中的不同时间段输入的。虽然相似,但这些表在每个季度具有不同的列数。我知道,如果我想联合两个具有不同列数的表,解决方案就是将额外的列数添加为空列。

然而,在本例中,我有超过22个表,每个表都有4个需要联合的版本。例如,TableA_Q1联合TableA_Q2联合TableA_Q3联合TableA_Q4,然后对TableB_Q1联合TableB_Q2重复相同的过程,依此类推。

现在,我正在对每个表的4个季度进行intersect,然后开始使用excel来识别其余的列,但必须有一种更简单的方法来完成此操作。有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2018-03-23 23:04:55

您可以使用sys.columns和sys.tables来构建动态sql,并根据需要添加空值。

票数 1
EN

Stack Overflow用户

发布于 2018-03-23 23:20:12

当没有对应的列时,只需添加null即可追加select

数据类型也必须对应,例如:

代码语言:javascript
复制
    select col1, col2, col3, col4
    from TableA_Q1 
    UNION 
    select  col1, col2, null,null 
    from TableA_Q2 
    select  col1, col2, col5,null 
    from TableA_Q3 
    union 
    select  col1,null, col5,null
    from TableA_Q4

可以使用union如果要删除重复的行,可以使用UNION ..otherwise选择所有行

票数 0
EN

Stack Overflow用户

发布于 2018-03-23 23:11:22

您可以使用join来做到这一点。就像select * from TableAQ1 join TableAQ2 on condition一样。有不同类型的连接(leftrightoutter..)但我想你想要外边的那个。

columnName : condition is TableAQ1.calumnName = TableAQ2.columnName,其中Edit是以某种方式与表中的信息相关的列。对不起,我不能用英语很好地解释我自己。

https://www.w3schools.com/sql/sql_join_full.asp

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49452711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档