由于直接相加会报错,因为mysql只能显示一行查询结果。所以先将查出来的多行结果按列名相加,然后将两个查询结果相加的列的结果相乘。
这是参考
参考
参考
这是 将两个结果相加、相乘
select (select * from a)+(select * from b) as result
select (select * from a)*(select * from b) as result
这是将一张表的多行查询结果根据 **列名**
相加
SELECT SUM (字段名
), FROM 多行查询结果的列名
as a;
假如我需要获取重量z那就是
select sum(重量z)from (SELECT 钢材表a
.重量z
FROM 捆包表b
right JOIN 钢材表a
ON 钢材表a
.卷号a
=捆包表b
.卷号C
) as a;
假如我需要获取数量e那就是
select sum(重量z)from (SELECT 捆包b
.数量e
FROM 捆包表b
right JOIN 钢材表a
ON 钢材表a
.卷号a
=捆包表b
.卷号C
) as a;
这是普通查询结果相乘
select(SELECT SUM (`字段名`), FROM `多行查询结果的列名` as a)*(SELECT SUM (`字段名`), FROM `多行查询结果的列名` as a6)as a7
这是我写的右连接查询多行结果相乘
select (select sum(重量z)from (SELECT `钢材表a`.`重量z` FROM `钢材表a`right JOIN `捆包表b` ON `钢材表a`.`卷号a`=`捆包表b`.`卷号C`)as a )*(select sum(数量e)from (SELECT `捆包表B`.`数量e` FROM `捆包表b`right JOIN `钢材表a` ON `钢材表a`.`卷号a`=`捆包表b`.`卷号C` )as aa )as a7;