イベントが開いていた時間数を取得するクエリを作成しようとしています。これは私のクエリです。平日のみをカウントすることを考慮する必要があるため、case ステートメントを使用しています。これは、その日の時間を実際に取得するという私の全体的な目標のプロセスのステップです。したがって、たとえば、日数が 1 日以上の場合は、それらすべての日を数えて 8 を掛けます。1 日未満の場合は、datediff 時間を実行し、その日の時間を取得します。
しかし、私は次のエラーが発生しています:
サブクエリが EXISTS で導入されていない場合、選択リストに指定できる式は 1 つだけです。
DECLARE @workdays int
SELECT creationDateTime,
closedDateTime,DATEDIFF(dd, creationDateTime, closedDateTime)+1,
CASE WHEN (DATEDIFF(dd, creationDateTime, closedDateTime)+1 > 1)
THEN (
SELECT creationDateTime ,closedDateTime,
((DATEDIFF(dd, creationDateTime, closedDateTime)+1)
-(DATEDIFF(wk, creationDateTime, closedDateTime) * 2)
-(CASE WHEN DATENAME(dw, creationDateTime)
= 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, closedDateTime)
= 'Saturday' THEN 1 ELSE 0 END)
)*8 AS workdayhours
FROM table.ofevents where closedDateTime IS NOT NULL) END
FROM table.ofevents where closedDateTime IS NOT NULL