从两表的多列中提取有值数据作为最终数据
时间:2011-11-29
来源:互联网
通过A表中哪个字段有值来提取B表中对应的数量,相乘的结果如果大于0就是有效值。
并且A表中有可能只有一个字段有值,也有可能五个字段都有值,多过一个字段有值,就要多个有效值相加后的结果作为有效值。
比如A表:
size1, size2,size3,size4,size5
0 0 0 1 0
B表
qty1, qty2, qty3, qty4, qty5
0 0 0 1 0
这样有效值是1,最终显示结果也是1
如果这样A表:
size1,size2,size3,size4,size5
1 1 1 1 0
B 表
qty1,qty2,qty3,qty4,qty5
1 1 0 1 0
有效值是3,最终显示结果也是3
作者: JERRY_LIU 发布时间: 2011-11-29
作者: jetable 发布时间: 2011-11-29
作者: JERRY_LIU 发布时间: 2011-11-29
SELECT SIGN(size1*qty1)+SIGN(size2*qty2)+SIGN(size3*qty3)+SIGN(size5*qty5)+SIGN(size5*qty5) FROM A,B
作者: roy_88 发布时间: 2011-11-29
select size1*qty1+size2*qty2+size3*qty3+size4*qty4+size5*qty5
from ta a,tb b
where a.主键= b.主键
作者: happyflystone 发布时间: 2011-11-29
declare @A表 table (size1 int,size2 int,size3 int,size4 int,size5 int) insert into @A表 select 0,0,0,1,0 union all select 1,1,1,1,0 select *,有效值=size1+size2+size3+size4+size5 from @A表 /* size1 size2 size3 size4 size5 有效值 ----------- ----------- ----------- ----------- ----------- ----------- 0 0 0 1 0 1 1 1 1 1 0 4 */
需要两个表做比较然后再出结果?每个表只有一条数据?
作者: maco_wang 发布时间: 2011-11-29
declare @A表 table (id int,size1 int,size2 int,size3 int,size4 int,size5 int) insert into @A表 select 1,0,0,0,1,0 union all select 2,1,1,0,1,0 declare @B表 table (id int,qty1 int,qty2 int,qty3 int,qty4 int,qty5 int) insert into @B表 select 1,0,0,0,1,0 union all select 2,1,1,1,1,0 SELECT 有效值 = a.size1 * b.qty1 + a.size2 * b.qty2 + a.size3 * b.qty3 + a.size4 * b.qty4 + a.size5 * b.qty5 FROM @A表 a LEFT JOIN @B表 b ON a.id = b.id /* 有效值 ----------- 1 3 */
作者: maco_wang 发布时间: 2011-11-29
只要列不为空
select size1*qty1+size2*qty2+size3*qty3+size4*qty4+size5*qty5
from ta a,tb b
where a.主键= b.主键

作者: fredrickhu 发布时间: 2011-11-29
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28