hel*_*ght 2 sql t-sql sql-server
编辑:Date
当然,购买包含一个名为的列.我的错.
我有一个表,Purchases
有列CustomerId
,PhoneNumber
和Purchase
,Price
和Date
.
我想将有关客户的信息移到新表中Customers
.那包含CustomerId
和PhoneNumber
.
具有相同的行CustomerId
可以多次出现Purchases
,我只想要每个行的最新行CustomerId
,因为它将包含该PhoneNumber
客户的最新行.
我读了一些关于DISTINCT
但是从我所理解的用于查找唯一行的内容(对吧?).
我已经尝试了一些内部连接的东西,但由于我是初学者,我不觉得如果我发布它会有很大贡献:)
尝试这样的事情:
;WITH MyCustomerRows As
(
SELECT ROW_NUMBER() OVER(PARTITION BY CustomerID ORDER BY [Date] DESC) AS CustomerIndex
,CustomerID
,PhoneNumber
FROM Purchases
)
INSERT INTO NewCustomerTable(CustomerID,PhoneNumber)
SELECT CustomerID,PhoneNumber
FROM MyCustomerRows
WHERE CustomerIndex =1 --this will pick just the first row, which is the newest...
Run Code Online (Sandbox Code Playgroud)