1

ここに新しい SQL dev があります。Asterisk サーバー用のコール ログ アプリケーションを作成しています。1 つのテーブル (CDRLogs) には、電話システムからの通話ログ (src、dst、calldate、duration) があります。私が持っている別のテーブル(Employees)には、empName、empExt、extStartDate extEndDate があります。呼び出しの日に誰が特定の ext を使用していたかに基づいて、src と empExt で 2 つを結合したいと考えています。特定の時間枠内で内線ごとに 1 人のユーザー。

たとえば、7 月に 3 人の異なるユーザーが x100 で座っていたとします。Employees テーブルには、これらの各人がその ext の使用を開始した日付と終了した日付を記録しました。それを反映するために結合を取得するにはどうすればよいですか?

前もって感謝します

4

1 に答える 1

0

おそらく次のようなものです:

SELECT A.*, B.*
FROM CDRLOGS A
INNER JOIN Employees B
  ON A.SRC = B.EmpExt
  AND A.CallDate between B.extStartDate and coalesce(B.extEndDate,getdate())

* を必要な関連フィールドに置き換えてください。中間の結合がオーバーヘッドを引き起こす可能性があるため、より良い方法があるかもしれませんが、現在、より良い方法は考えられません。

于 2013-08-23T17:30:04.233 に答える