以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SQL问题合并 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192686) |
-- 作者:lin98 -- 发布时间:2024/7/12 8:57:00 -- SQL问题合并 SQ-L,如何用SQ-L实现将表1, 表4的字段:编号,数量 表1的字段:编号,数量 表2的字段:编号,数量 表3的字段:编号,数量 [此贴子已经被作者于2024/7/12 10:04:50编辑过]
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/7/15 9:31:00 -- 使用inner join,看2楼用法 |
-- 作者:lin98 -- 发布时间:2024/7/15 10:16:00 -- 2楼不行,因为三表的数据量不同,内连接,只在查询同存数据,不存在则过滤,达不到需求。 需求是三表合并,是将三表的所有数据合并到表4.如何实现?
|
-- 作者:有点蓝 -- 发布时间:2024/7/15 10:27:00 -- 试试 select a.编号,b.数量 as 数量1,c.数量 as 数量2,d.数量 as 数量3 from (select distinct 编号,日期 from (select 编号,日期 from 表1 union all select 编号,日期 from 表2 union all select 编号,日期 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 -- 发布时间:2024/7/15 10:38:00 -- 出现空值 [此贴子已经被作者于2024/7/15 11:55:21编辑过]
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2024/7/15 10:56:00 -- [图一 [此贴子已经被作者于2024/7/15 11:54:19编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/7/15 10:59:00 -- 几个表数据导出发过来测试一下 |