我有一個包含過去成員資格數據和當前數據的訂單表。我想單行查看這些數據。我有一個過去數據的臨時表,但不完全確定如何編寫此查詢以獲取同一行中的當前數據。我知道這與MAX(order no)
有關。下面是查詢以獲得一個臨時表用於追加過去訂單和最近訂單的SQL查詢
set transaction isolation level read uncommitted
declare
@ship_master_customer_id varchar (10), @cycle_begin_date datetime, @cycle_end_date datetime, @OrderNo varchar(10), @Description Char(100)
create table #t1(ShipMasterCustomerID varchar(10), OrderNo varchar (10), cycle_begin_date datetime, cycle_end_date datetime, Description Char(100))
Insert into #t1
Select SHIP_MASTER_CUSTOMER_ID, ORDER_NO, CYCLE_BEGIN_DATE,CYCLE_END_DATE, DESCRIPTION FROM [ORDER_DETAIL]
where SHIP_MASTER_CUSTOMER_ID = '11115555' and
CYCLE_END_DATE = '2/29/2016'
Select * from #t1
Drop table #t1
Here is my script.
declare
@ship_master_customer_id varchar (10), @cycle_begin_date datetime, @cycle_end_date datetime, @OrderNo varchar(10), @Description Char(100)
create table #t2(ShipMasterCustomerID varchar(10), OrderNo varchar (10), cycle_begin_date datetime, cycle_end_date datetime, Description Char(100))
Insert into #t2 (shipmastercustomerid, orderno, cycle_begin_date, cycle_end_date, DESCRIPTION)
VALUES (1111555,9004731815, 2015/01/01, 2015/31/12,'Annual Mem'),
(1111555, 9005148308, 2016/01/01, 2016/31/12,'Annual Mem'),
(1111222, 9005027152, 2015/01/03, 2016/29/02,'Annual Mem'),
(1111222, 9005440369, 2016/01/03, 2017/31/03,'Annual Mem'),
(2223333, 9005027152, 2014/01/01, 2016/31/12,'Annual Mem'),
(2223333, 9005442116, 2016/01/01, 2017/31/12,'Annual Mem')
Select * from #t2
Drop table #t2
在這裏非常小心。您似乎正在查看訂單信息,但您的隔離級別爲未提交讀取。隨機丟失和/或重複行可以嗎?它可以並將會發生。如果準確性很重要,不要這樣做。 http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
這裏真正有幫助的是一些示例數據。你有一個表變量和一個臨時表。你甚至有一個插入到臨時表中...但是插入的來源是我們沒有的表格。 –
謝謝,我正在嘗試上傳一個示例excel。 – user3117087