vb sql union 联合查询用法

vb sql union 联合查询用法,第1张

sql = "select date ,shift, Sum(worktime) as Qty ,1 AS KBN from MP where process ='" & Combo4Text & "' and date between # " & DTPicker1Value & "# and # " & DTPicker2Value & "#  group by date,shift"
 
sql2 = "select date ,shift, Sum(Qty) as Qty,2 AS KBN from Alpha where date between # " & DTPicker1Value & "# and # " & DTPicker2Value & "# group by date ,shift"
 
sql3 = "select date ,shift, Sum(Qty) as Qty,3 AS KBN from Bevel where date between # " & DTPicker1Value & "# and # " & DTPicker2Value & "# group by date ,shift"
 
sql4 = "select date,shift ,(SUM(CASE KBN WHEN 2 THEN qty ELSE 0 END)+SUM(CASE KBN WHEN 3 THEN qty ELSE 0 END))/SUM(CASE KBN WHEN 1 THEN qty ELSE 0 END) from (" & sql & " union all " & sql2 & " union all " & sql3 & " ) group by date ,shift "

搂主你好,使用UNION是将多个查询结果合并起来,形成一个完整的查询结果时,系统会自动去重复的元组,但需要注意的是,参加Union *** 作的各数据项数目必须相同;对应项的数据类型也必须相同。

insert into 月利润表 (门票收入,食品收入)
SELECT sum(日结算表售票收入) AS 门票收入,0 AS 食品收入
FROM 日结算表
union
SELECT 0AS 门票收入, sum(商品日结算表商品销售收入) AS 食品收入
FROM 商品日结算表;
这样试试,可以通过增加group 语句来合并成一行

字段名称可以不同,字段数量、数据类型、顺序必须相同。
UNION *** 作符用于合并两个或多个 SELECT 语句的结果集。
需要注意的是
1、UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
2、该命令连接的结果集中有重复的值不会被显示。
想忽略重复值,可以使用 union all。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13377443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存