Sql 在同一个表上选择多个
我想从atbv_Sales_订单和atbv_Sales_prds视图中获取数据。因此,我需要加入域和ProductID字段上的视图。尽管如此,我还是想为Quantity字段创建别名“Total”(从atbv_Sales_prds视图) 我尝试在存在的地方使用Sql 在同一个表上选择多个,sql,sql-server-2008,select,join,Sql,Sql Server 2008,Select,Join,我想从atbv_Sales_订单和atbv_Sales_prds视图中获取数据。因此,我需要加入域和ProductID字段上的视图。尽管如此,我还是想为Quantity字段创建别名“Total”(从atbv_Sales_prds视图) 我尝试在存在的地方使用,,但失败了 因此,我需要从atbv_Sales_prds添加产品名称和供应商。我当前编写的代码:(仅带1个select) 如果我了解您的问题,以下是加入表格的解决方案: SELECT DISTINCT p.Domain, p.OrderID
,
,但失败了
因此,我需要从atbv_Sales_prds添加产品名称和供应商。我当前编写的代码:(仅带1个select)
如果我了解您的问题,以下是加入表格的解决方案:
SELECT DISTINCT p.Domain, p.OrderID, p.ProductID, p.Amount, p.Value,
p.PrimKey, p.Created, p.CreatedBy, pv.Quantity as Total
FROM atbv_Sales_Orders p
JOIN atbv_Sales_prds pv
ON p.Domain = pv.Domain AND pv.ProductID = v.ProductID
我不完全确定你所说的“总”别名是什么意思,但我的看法是这样的
SELECT DISTINCT p.Domain, p.OrderID, p.ProductID, p.Amount, p.Value,
pv.ProductName as ProductName, pv.Supplier as Supplier,
p.PrimKey, p.Created, p.CreatedBy, pv.Quantity as Total
FROM atbv_Sales_Orders p
JOIN atbv_Sales_prds pv
ON p.Domain = pv.Domain AND pv.ProductID = v.ProductID
我想你想
SUM()
所有的定量,但这并不清楚。不过,对于其他选项,您已经有了答案
SELECT p.Domain, p.OrderID, p.ProductID, p.Amount, p.Value,
p.PrimKey, p.Created, p.CreatedBy, pv.ProductName,
pv.Supplier, SUM(pv.Quantity) AS Total
FROM atbv_Sales_Orders p
JOIN atbv_Sales_prds pv
ON p.Domain = pv.Domain AND v.ProductID = pv.ProductID
GROUP BY p.Domain, p.OrderID, p.ProductID, p.Amount, p.Value,
p.PrimKey, p.Created, p.CreatedBy, pv.ProductName, pv.Supplier
非常感谢。当我添加以选择pv.Quantity作为总计时,行开始相乘?添加pv.Quantity作为总计不应更改行数,只应在结果中添加一个新列,但保持相同的行数。也许你可以修改你的问题,在表格中添加一些细节。
SELECT p.Domain, p.OrderID, p.ProductID, p.Amount, p.Value,
p.PrimKey, p.Created, p.CreatedBy, pv.ProductName,
pv.Supplier, SUM(pv.Quantity) AS Total
FROM atbv_Sales_Orders p
JOIN atbv_Sales_prds pv
ON p.Domain = pv.Domain AND v.ProductID = pv.ProductID
GROUP BY p.Domain, p.OrderID, p.ProductID, p.Amount, p.Value,
p.PrimKey, p.Created, p.CreatedBy, pv.ProductName, pv.Supplier