0

WHERE別の列のクエリで計算列を使用する必要がある場合があります

私はこのようなことをする必要があります:

SELECT CONVERT(Date, RequestedOn) AS [Date], 
    COUNT(*), 
    (SELECT COUNT(*) FROM CalculatorLog WHERE CONVERT(Date, RequestedOn) = [Date] AND <other_static_conditions>) AS [Count]
    FROM CalculatorLog
    Group by CONVERT(Date, RequestedOn) Order by [Date] DESC

SELECTこれをステートメントの2列目に実装しようとしています。しかし、それはエラーInvalid Column name [Date]です。

それで、これに対する可能な回避策は何ですか..?私が考えることができるのは、そのようなユースケースが到着した場合に常に行うビューの作成です。

しかし、このデータベースでは、読み取りアクセス権しかありません。したがって、この目的でこのデータベースにビューを作成することはできません。SELECTだから私はとにかくステートメントでそれを成し遂げる必要があります。

4

3 に答える 3

1

条件の場合は 1、それ以外の場合は 0 を合計するだけです。

SELECT
  CONVERT(Date, RequestedOn) AS [Date], 
  COUNT(*), 
  SUM(CASE WHEN <other_static_conditions> THEN 1 ELSE 0 END) AS [Count]
FROM CalculatorLog
Group by CONVERT(Date, RequestedOn)
Order by [Date] DESC
于 2013-10-30T06:16:38.860 に答える