주어진 "CustomerId
"에 대해 다른 테이블의 열 ("CompanySales
")에서 관련 값 4 개를 가져와야합니다.MSSQL : 다른 테이블에서 여러 값을 가져 오는 방법
두 테이블을 조인하고 아래 쿼리를 사용하여 다른 테이블의 열에서 2 개의 "CompanySales
"값을 가져올 수 있습니다.
(I는 "WeekNumber
"= 1,2,3에 대한 CompanySales
이 필요하고 4)
이것은 내가 "Weeknumber
"를 "CompanySales
"를 확보해야하는 SQL 쿼리입니다 = 1 및 2 :
Declare @TempTable1 table
(
CustomerID INT,
CustomerName Varchar (50),
CompanySales DEC (8,2),
WeekNumber INT
)
INSERT INTO @TempTable1 ("CustomerID","CustomerName", "WeekNumber")
SELECT Customer.CustomerID, Customer.CustomerName, Company.WeekNumber, company.Sales
FROM Customer INNER JOIN
Company ON Customer.CustomerID = Company.CustomerID;
With tblDifference as
(
Select Row_Number() OVER (Order by WeekNumber) as RowNumber,CustomerID,CustomerName, companysales, WeekNumber from @TempTable1
)
Select Top (50) cur.CustomerID, Cur.CustomerName, Cur.WeekNumber as CurrentWeek, Prv.WeekNumber as PreviousWeek, Cur.CompanySales as CurrentSales, Prv.CompanySales as PreviousSales, CAST(((Cur.CompanySales-Prv.CompanySales)/Prv.CompanySales)*100 As Decimal(8,2)) as PercentChange from
tblDifference Cur Left Outer Join tblDifference Prv
On Cur.CustomerID=Prv.CustomerID
Where cur.WeekNumber = 1 AND prv.WeekNumber = 2
Order BY PercentChange ASC
Where 절에 2 개의 AND 문을 추가하면됩니까? – Hoh
'RowNumber' 열은 무엇입니까? 당신은 당신의 질의 어디서나 그것을 사용하지 않는 것 같습니다. –