为了账号安全,请及时绑定邮箱和手机立即绑定

将 2 个表格显示到 1 个网格视图中

将 2 个表格显示到 1 个网格视图中

C#
繁星点点滴滴 2022-11-13 16:00:48
我有 2 个表(表 1 和表 2)。Table1 和 Table2 的列名相同,但 Table2 比 Table1 多了一些列。列名如下:表1 [姓名、姓氏、年龄、性别、身高]表 2 [姓名、姓氏、年龄、性别、出生日期、出生地]我正在尝试将两个表中的数据放入 1 个网格视图中。我试过使用 UNION ALL 但它会返回一个错误,因为列不一样。是否可以将所有这些列加入 1 个网格视图并相应地显示数据?例如:姓名、姓氏、年龄、性别、身高、出生日期、出生地如果是这样,我的 sql 查询会是什么样子?PS:我在每个表中有 70 多列,所以单独选择它是行不通的
查看完整描述

3 回答

?
达令说

TA贡献1821条经验 获得超6个赞

只需将空值放入缺失的列中并使用UNION ALL


select name, surname, age, gender, height, null, null from table1

union all

select name, surname, age, gender, null, dateofbirth, origin from table2

正如@TheImpaler 所提到的,没有办法手动选择列。


查看完整回答
反对 回复 2022-11-13
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

请试试这个。


SELECT 

    Name, Surname, Age, Gender, Height,NULL AS DateOfBirth,NULL AS  Origin 

FROM 

    table1 


UNION ALL


SELECT 

    Name, Surname, Age, Gender, NULL AS Height, DateOfBirth, Origin

FROM 

    table2 


查看完整回答
反对 回复 2022-11-13
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

您可以使用 ROW_NUMBER 函数


SELECT t1.Column1, t1.Column2, t2.Column3, t2.Column4

FROM (

   SELECT Column1, Column2,

          ROW_NUMBER() OVER (ORDER BY Column1) AS rn

   FROM Table1) AS t1

FULL OUTER JOIN  (

   SELECT Column3, Column4,

          ROW_NUMBER() OVER (ORDER BY Column3) AS rn

   FROM Table2) AS t2

ON t1.rn = t2.rn  


查看完整回答
反对 回复 2022-11-13
  • 3 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信