привет, я новичок в sql Server. У меня есть таблица продаж.
OrderID | OrderDate | CustomerName
--------|-----------|------------
1 | 01-20-2000| Joe
--------|-----------|------------
2 | 01-19-2000|Rabert
--------|-----------|------------
3 |01-17-2000 |Alice
--------|-----------|------------
4 | 01-16-2000| Tome
--------|-----------|------------
5 | 01-15-2000|James
--------|-----------|------------
6 |01-10-2000 |Fred
--------|-----------|------------
7 | 01-09-2000| Luie
--------|-----------|------------
8 | 01-03-2000|Sara
--------|-----------|------------
9 |01-02-2000 |Nik
--------|-----------|------------
Я хочу, чтобы каждый заказ был размещен рядом с заказом предыдущего дня.
Например:
OrderID OrderDate CusromerName OrderID OrderDate CusromerDate
1 2000 - 01 - 20 Joe 2 2000 - 01 - 19 Robert
2 2000 - 01 - 19 Robert 3 2000 - 01 - 17 Alice
3 2000 - 01 - 17 Alice 4 2000 - 01 - 16 Tom
4 2000 - 01 - 16 Tom 5 2000 - 01 - 15 James
5 2000 - 01 - 15 James 6 2000 - 01 - 10 Fred
6 2000 - 01 - 10 Fred 7 2000 - 01 - 09 Luie
7 2000 - 01 - 09 Luie 8 2000 - 01 - 03 Sara
8 2000 - 01 - 03 Sara 9 2000 - 01 - 02 Nik
попробуй:
select o.*, prev.*
from Orders o
cross apply
(
select top 1 *
from Orders P where P.OrderDate < O.OrderDate
order by OrderDate DESC
) prev
Пожалуйста, попробуйте этот способ !!!!!
select t1.*,
lead(OrderID)over( order by OrderDate desc) as OrderID,
lead(OrderDate)over( order by OrderDate desc) as OrderDate,
lead(CustomerName)over( order by OrderDate desc) as CustomerName from #tt t1
что ты сделал до сих пор?