私が使用しているクエリは次のとおりです。
SELECT
a.What_Tech,
a.callid FirstCallid,
b.Callid SecondCallid,
a.[segStart_dateTime] FirstCallTime,
b.[segStart_dateTime] SecondCallTime,
DateDiff(second, a.[segStart_dateTime], b.[segStart_dateTime]) as [myDiff]
FROM CallVolume.AreaGeneratedActivity a
JOIN CallVolume.AreaGeneratedActivity b on
a.calling_pty = b.calling_pty
and a.[segStart_dateTime] < b.[segStart_dateTime]
and dbo.getdateonly(a.segStart_dateTime) = dbo.getdateonly(b.segStart_dateTime)
WHERE ABS(DateDiff(second, a.[segStart_dateTime], b.[segStart_dateTime])) > 60
and ABS(DateDiff(second, a.[segStart_dateTime], b.[segStart_dateTime])) <= 1800
返されるのは次のとおりです。
| What_Tech | FirstCallid | SecondCallid | FirstCallTime | SecondCallTime | myDiff | Tech1 | 21134601 | 21136023 | 09:19:41 | 09:20:43 | 62 | Tech1 | 21134601 | 21134507 | 09:19:41 | 09:19:41 | 886 | Tech1 | 21134601 | 21134602 | 09:19:41 | 09:34:27 | 887
私が欲しいのは異なるFirstCallidsです:
| What_Tech | FirstCallid | SecondCallid | FirstCallTime | SecondCallTime | myDiff | Tech1 | 21134601 | 21134676 | 09:19:41 | 09:20:43 | 62 | Tech1 | 21136023 | 21136024 | 09:34:27 | 09:35:27 | 1
表のサンプルデータは次のとおりです。
INSERT [dbo].[TestData](callid, What_Tech, segStart_dateTime, segStop_dateTime, duration)
SELECT 21134601, N'Tech1', '20120307 09:19:41', '20120307 09:20:35', 54 UNION ALL
SELECT 21134676, N'Tech1', '20120307 09:20:43', '20120307 09:21:30', 47 UNION ALL
SELECT 21136023, N'Tech1', '20120307 09:34:27', '20120307 09:36:54', 147 UNION ALL
SELECT 21148838, N'Tech1', '20120307 12:00:29', '20120307 12:02:05', 96 UNION ALL
SELECT 21149159, N'Tech1', '20120307 12:04:32', '20120307 12:05:46', 74 UNION ALL
SELECT 21163170, N'Tech1', '20120307 14:50:08', '20120307 14:52:36', 148
返されるものと私が欲しいものからのサンプルデータは単なる例であり、INSERTステートメントで与えられたサンプルデータから直接ではないことに注意してください
calling_party
投稿されたクエリ(に欠落している結合条件を削除しINSERT
、関数呼び出しをインライン計算に変更すると)は、提供されたサンプルデータを前提として次の結果を生成します。
What_Tech FirstCallId SecondCallId FirstCallTime SecondCallTime myDiff
--------- ----------- ------------ ------------------- ------------------- ------
Tech1 21134601 21134676 2012-03-07 09:19:41 2012-03-07 09:20:43 62
Tech1 21134601 21136023 2012-03-07 09:19:41 2012-03-07 09:34:27 886
Tech1 21134676 21136023 2012-03-07 09:20:43 2012-03-07 09:34:27 824
Tech1 21148838 21149159 2012-03-07 12:00:29 2012-03-07 12:04:32 243
それを踏まえて、私たちが見ることができないわずかに異なるデータセットからの望ましい結果を表示するのではなく、提供した実際のサンプルデータを前提として、どのような結果を期待するかを定義できますか?