Foxtable(狐表)用户栏目专家坐堂 → SQL问题合并


  共有1531人关注过本帖树形打印复制链接

主题:SQL问题合并

帅哥哟,离线,有人找我吗?
lin98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
SQL问题合并  发帖心情 Post By:2024/7/12 8:57:00 [只看该作者]

SQ-L,如何用SQ-L实现将表1

4的字段:编号,数量

1的字段:编号,数量

2的字段:编号,数量

3的字段:编号,数量

[此贴子已经被作者于2024/7/12 10:04:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/12 9:25:00 [只看该作者]

下面是sqlserver的用法,不同数据库,可能语法有差异,自行网上搜索

select a.编号,a.数量 as 数量1,b.数量 as 数量2,c.数量 as 数量3 from 表1 as a inner join 表2 as b on a.编号=b.编号 inner join 表3 as c on a.编号=c.编号

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/7/15 9:14:00 [只看该作者]


INSERT INTO  表4(编号,日期,数量1, 数量2, 数量3)
SELEC-T 
a.编号 as 编号,
a.日期 as 日期,
    a.数量 as 数量1,
    NULL as 数量2, 
    NULL as 数量3   
FROM   表1   as a
UNION ALL
SELEC-T 
b.编号 as 编号,
b.日期 as 日期,
    NULL as 数量1,
    b.数量 as 数量2,
    NULL as 数量3
FROM  表2    as b
UNION ALL
SELEC-T 
c.编号 as 编号,
c.日期 as 日期,
    NULL as 数量1,
    NULL as 数量2,
    c.数量 as 数量3
FROM   表3    as   c;
问题二:在ADO中,上面代码看一个整个?还是要分写?

Dim db = HySq-l.DataBaseFactory.CreateDatabase("myQ") '
Dim Sq-l = 上面代码
[此贴子已经被作者于2024/7/15 11:54:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/15 9:31:00 [只看该作者]

使用inner join,看2楼用法

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/7/15 10:16:00 [只看该作者]

2楼不行,因为三表的数据量不同,内连接,只在查询同存数据,不存在则过滤,达不到需求。
需求是三表合并,是将三表的所有数据合并到表4.如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/15 10:27:00 [只看该作者]

试试

select a.编号,b.数量 as 数量1,c.数量 as 数量2,d.数量 as 数量3 from (select distinct 编号,日期 from (selec编号,日期 from 表1 union all selec编号,日期 from 表2 union all selec编号,日期 from 表3) as a) as a left join 表1 as b on a.编号=b.编号 left join 表2 as c on a.编号=c.编号 left join 表3 as d on a.编号=d.编号


 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/7/15 10:38:00 [只看该作者]

出现空值
[此贴子已经被作者于2024/7/15 11:55:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/15 10:42:00 [只看该作者]

加上日期

…… as a left join 表1 as b on a.编号=b.编号 and a.日期=b.日期  left join 表2 as c on a.编号=c.编号  and a.日期=c.日期 ……

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/7/15 10:56:00 [只看该作者]

[图一
[此贴子已经被作者于2024/7/15 11:54:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/15 10:59:00 [只看该作者]

几个表数据导出发过来测试一下

 回到顶部