简体   繁体   English

MSSQL:如何从另一个表中获取多个值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM