2014-06-17 2 views
1

나는 비트처럼 보이는 (작업) 쿼리가 : 내가 좋아하는 것큰 쿼리 값으로 여러 행의 합계를 선택

SELECT DISTINCT 
Convert(Varchar(150),O.PONumber) AS OrderID, 
CONVERT(varchar, O.OrderDateTime, 111) AS OrderDateTime, 
CONVERT(varchar, DATEADD(DAY, 14, O.OrderDateTime), 111) AS DateExpire, 
C.ClientID, 
C.ClientName, 
U.FirstName + ' ' + U.LastName AS Name 
... 

가이 같은 것을 추가 :

(SELECT 
    SUM((
     SELECT 
      OI.UnitPoints 
     FROM 
      Orders O INNER JOIN 
      [dbo].[OrderItems] AS OI ON O.OrderID = OI.OrderID 
     WHERE 
      O.PONumber = 72084))) AS TotalPoints 
을 이에 의해 반환

발발했습니다 값 :

SELECT 
    OI.UnitPoints 
FROM 
    Orders O INNER JOIN 
    [dbo].[OrderItems] AS OI ON O.OrderID = OI.OrderID 
WHERE 
    O.PONumber = 72084 

봐이 같은 :

UnitPoits 
--------- 
1 
2 

그래서이 특별한 경우에는 TotalPoints에 지정된 값을 3 (1 + 2)로 찾고 있습니다.

+1

확인을, 어떤 당신의 질문은 또는 당신이 붙어 어디입니까? – user2989408

+0

@ user2989408 Ah. 죄송합니다. 명확하지 않았다. (SELECT SUM (...)) AS TotalPoints 쿼리를 작성하는 데 도움이 필요합니다. – drewwyatt

+0

[SUM] (http://technet.microsoft.com/en-us/library/ms187810%28v=sql.110%29. @BogdanSavluk에서 제안한 것처럼 열의 합계가 필요하기 때문에'SELECT' 내부에 쿼리의 일부분 (aspx)을 추가해야합니다. – user2989408

답변

0

당신이 달성하기 GROUP BY 문 사용할 수 있습니다

SELECT 
    O.OrderID, 
    SUM(OI.UnitPoints) as TotalPoints 
FROM 
    Orders O INNER JOIN 
    [dbo].[OrderItems] AS OI ON O.OrderID = OI.OrderID 
WHERE 
    O.PONumber = 72084 
GROUP BY O.OrderID 
관련 문제