Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在同一个表上选择多个_Sql_Sql Server 2008_Select_Join - Fatal编程技术网

Sql 在同一个表上选择多个

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_订单和atbv_Sales_prds视图中获取数据。因此,我需要加入域和ProductID字段上的视图。尽管如此,我还是想为Quantity字段创建别名“Total”(从atbv_Sales_prds视图)

我尝试在存在的地方使用
,但失败了

因此,我需要从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