[英]MSSQL: How to get multiple values from another table
For a given " CustomerId
" I need to get 4 related values from a column (" CompanySales
") in another table. 对于给定的“
CustomerId
”,我需要从另一个表的列(“ CompanySales
”)中获取4个相关值。
I have joined the two tables and, with the query below, manage to get 2 " CompanySales
" values from the column in the other table. 我已经加入了两个表,并通过下面的查询设法从另一个表的列中获取2个“
CompanySales
”值。
How do I do this do get 4 values (I need CompanySales
for " WeekNumber
" = 1,2,3 and 4) 我该怎么做才能得到4个值(我需要
CompanySales
的“ WeekNumber
” = 1,2,3和4)
This is the SQL query I have to secure " CompanySales
" for " Weeknumber
" = 1 and 2: 这是我必须为“
Weeknumber
” = 1和2保护“ CompanySales
”的SQL查询:
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
如何在介于1和4之间的cur.WeekNumber之间添加?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.