我有这张表:(供应表:仓库中有多少产品)
Storage_id product_id amount
1 1000 55
1 1005 1
...
29 1000 3
29 1421 21
29 1566 0
30 1259 921
我应该写一个查询来得到这个结果:
storage_id product_id amount
1 1000 55
2 1000 61
...
30 1000 10
total_except_storage_30 1000 1505
1 1001 1
2 1001 50
...
30 1001 56
total_except_storage_30 1001 1251
...
“Total_except_storage_30”包含存储中除存储编号 30 之外的所有产品的总数。例如,第一个“total_except_storage_30”用于除 storage_id 30 之外的所有存储中的 product_id 1000,第二个用于 product_id 1001。
*** 我不允许使用“Union”。
我尝试使用完全外连接,但这不起作用,结果没有“total_except_storage_30”:
Select t.Storage_id, t.product_id, t.amount
from myTable t full outer join
(
select 'total_except_storage_30' as storage_id, product_id, sum(amount)
from myTable
group by product_id
) total
on t.storage_id = total.storage_id