有没有办法避免使用tmp表?
我正在使用带有聚合函数(sum)的查询来生成每个产品的总和:结果如下所示:
product_name | sum(qty)
product_1 | 100
product_2 | 200
product_5 | 300
Run Code Online (Sandbox Code Playgroud)
现在我想将上述结果加入另一个名为products的表中.所以我会得到这样的总结:
product_name | sum(qty)
product_1 | 100
product_2 | 200
product_3 | 0
product_4 | 0
product_5 | 300
Run Code Online (Sandbox Code Playgroud)
我知道这样做的一种方法是将第一个查询结果转储到临时表,然后将其与products表连接.有没有更好的办法?
egr*_*nin 31
SELECT Product_Name, Total FROM ProductTable x
LEFT OUTER JOIN (SELECT SUM(qty) as Total, ProductID FROM InventoryTable
GROUP BY ProductID) y
ON x.ProductID = y.ProductID
Run Code Online (Sandbox Code Playgroud)
你可以这样
select table1.productname, virtualtable.qty
from table1
inner join (
select productid, qty
from table2
group by productid
) as virtualtable on virtualtable.productid = table1.productid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41732 次 |
| 最近记录: |