久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何遍歷表以查找數據集?

how to loop thru a table to find data set?(如何遍歷表以查找數據集?)
本文介紹了如何遍歷表以查找數據集?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我必須以分鐘為單位找到訂單生命周期的時間差異.即每個訂單從收到訂單(活動 ID 1)到鍵入(2)到打印(3)到交付(4)的時間

I have to find the timediff in minutes for a order lifetime. i.e time from order was received(Activity ID 1) to keyed(2) to printed(3) to delivered(4) for each order

例如

我完全迷失了應該采取哪種方法?用例或 if then 語句 ??類似于每個循環遍歷每個記錄?最有效的方法是什么?

I am completely lost at which approach should i take?? use case or if then statement ?? something like for each to loop thru each record? what should be the most efficient way to do it?

我知道一旦我在正確的變量中獲得日期,我就可以使用 DATEDIFF.

i know once i get dates in correct variables i can use DATEDIFF.

declare @received as Datetime, @keyed as DateTime, @printed as Datetime, @Delivered as Datetime, @TurnTime1 as int
Select
IF (tblOrderActivity.ActivityID = 1) SET @received = tblOrderActivity.ActivityDate
---
----
from tblOrderActivity
where OrderID = 1 

它應該告訴我 @TurnTime1 = 48 分鐘,因為 orderID 1 從收到(活動 ID 1)到鍵控(活動 ID 2)花了 48 分鐘@TurnTime2 = 29 分鐘,因為從鍵控(活動 ID 2)訂購 1 花了 29 分鐘) 為每個訂單打印(活動 ID 3)等等

it should show me @TurnTime1 = 48 mins as orderID 1 took 48 mins from received(activity id 1) to keyed (activity id 2) @TurnTime2 = 29 mins as it took 29mins for order 1 from keyed(activity id 2) to printed (activity id 3) so on and so forth for each order

推薦答案

您可以通過透視數據輕松完成此操作.可以通過兩種方式完成.

You can do this easily by pivoting the data.It can be done in two ways.

1.使用Conditional Aggregate來透視數據.在pivoting 之后,您可以找到不同階段之間的datediff.試試這個.

1.Use Conditional Aggregate to pivot the data. After pivoting you can find datediff between different stages. Try this.

SELECT orderid,Received,Keyed,Printed,Delivered,
       Datediff(minute, Received, Keyed)    TurnTime1,
       Datediff(minute, Keyed, Printed)     TurnTime2,
       Datediff(minute, Printed, Delivered) TurnTime3
FROM  (SELECT OrderID,
              Max(CASE WHEN ActivityID = 1 THEN ActivityDate END) Received,
              Max(CASE WHEN ActivityID = 2 THEN ActivityDate END) Keyed,
              Max(CASE WHEN ActivityID = 3 THEN ActivityDate END) Printed,
              Max(CASE WHEN ActivityID = 4 THEN ActivityDate END) Delivered
       FROM   Yourtable
       GROUP  BY OrderID)A 

2.使用Pivot轉置數據

SELECT orderid,
       [1]                        AS Received,
       [2]                        AS Keyed,
       [3]                        AS Printed,
       [4]                        AS Delivered,
       Datediff(minute, [1], [2]) TurnTime1,
       Datediff(minute, [2], [3]) TurnTime2,
       Datediff(minute, [3], [4]) TurnTime3
FROM   Yourtable
       PIVOT (Max(ActivityDate)
             FOR ActivityID IN([1],[2],[3],[4]))piv 

這篇關于如何遍歷表以查找數據集?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 日韩欧美在线观看一区 | 精品乱码一区二区三四区视频 | 久久99国产精一区二区三区 | 中文在线一区二区 | 精品视频一区在线 | 国产午夜精品久久久 | 精品久久香蕉国产线看观看亚洲 | 国产一区黄色 | 99久久精品国产毛片 | 在线第一页 | 国产精品免费一区二区三区四区 | 日本超碰 | 国产欧美日韩一区二区三区在线 | 亚洲一区二区三区视频 | 99精品电影 | 精品国产一区二区三区日日嗨 | 99久久精品免费看国产四区 | 欧美精品一区二区三区在线播放 | 国产精品国产三级国产aⅴ浪潮 | 毛片在线看看 | 视频一区中文字幕 | 激情五月婷婷综合 | 成年人黄色小视频 | 一区二区av | 欧美成人手机视频 | 国产美女精品视频 | 国产精品视频在线观看 | 国产成在线观看免费视频 | 欧美亚洲视频在线观看 | 亚洲一区二区三区免费在线观看 | www.亚洲区 | 欧美aaa一级片 | 国产激情一区二区三区 | 黄网站涩免费蜜桃网站 | 久久久久国产一区二区三区四区 | 全免费a级毛片免费看视频免 | 国产精品久久久久久久久久久免费看 | 国产日韩在线观看一区 | 成人福利网站 | 亚洲一区视频在线 | 国产极品91|