0
表包含三個記錄時,看到臨時見下表:如何避免重複加入多個表
Declare @TimeStamp table (Id int, SalesMan_ID int, Module_Cdoe varchar(50),Time_In varchar(10),Time_Out varchar(10))
Insert into @TimeStamp values
(1,13524,'Analysis','1:30pm','1:40pm'),
(2,12543,'Analysis','2:10pm','2:30pm'),
(3,12543,'Analysis','3:10pm','3:30pm')
;with cteBase (Seq,Module_Cdoe) as(
Select 1,'Photo' union all
Select 2,'Survey' union all
Select 3,'Merchand'
)
Select id=Row_Number() over (Order By Time_In,SalesMan_id,Seq)
,SalesMan_id
,b.Module_Cdoe
,Time_In
,Time_Out
from @TimeStamp A
Join cteBase B on (A.Module_Cdoe='Analysis')
Order By 1
從上面的查詢結果是:
id SalesMan_id Module_Cdoe Time_In Time_Out
1 13524 Photo 1:30pm 1:40pm
2 13524 Survey 1:30pm 1:40pm
3 13524 Merchand 1:30pm 1:40pm
4 12543 Photo 2:10pm 2:30pm
5 12543 Survey 2:10pm 2:30pm
6 12543 Merchand 2:10pm 2:30pm
7 12543 Photo 3:10pm 3:30pm
8 12543 Survey 3:10pm 3:30pm
9 12543 Merchand 3:10pm 3:30pm
但我需要一個像看下面:
id SalesMan_id Module_Cdoe Time_In Time_Out
1 13524 Photo 1:30pm 1:40pm
2 13524 Survey 1:30pm 1:40pm
3 13524 Merchand 1:30pm 1:40pm
4 12543 Photo 2:10pm 2:30pm
5 12543 Survey 2:10pm 2:30pm
6 12543 Merchand 2:10pm 2:30pm
(OR)
id SalesMan_id Module_Cdoe Time_In Time_Out
1 13524 Photo 1:30pm 1:40pm
2 13524 Survey 1:30pm 1:40pm
3 13524 Merchand 1:30pm 1:40pm
4 12543 Photo 3:10pm 3:30pm
5 12543 Survey 3:10pm 3:30pm
6 12543 Merchand 3:10pm 3:30pm
那麼什麼是查詢來實現我的期望?
你想要顯示更早次或更晚的時間。更好地指定一個或另一個。如果你不關心他們,你需要他們嗎?如果沒有,你可以使用分組 – Tanner
我需要更晚的時間 –
更新問題,然後指定這個問題,並更改id的匹配您的預期輸出後面的行 – Tanner