SQL DB2は - 条件に基づいて販売をまとめます

ムスタファジョージ

私は、SQL DB2に次のように表現したいです。私は2つの条件のいずれかに基づいて売上高の値を追加します。私は、CASE文を必要とすると思いますが、わかりません。擬似コードがクリアされている場合、私に教えてください...

SELECT Total_Service_Starts, Total_Service_Stops            

If ServiceFile.SERVICE_START > 20200101
   Then Total_Service_Starts  = SUM(ServiceFile.Rate * ServiceFile.Units)   

If ServiceFile.SERVICE_STOP > 20200101
   Then Total_Service_Stops  = SUM (ServiceFile.Rate * ServiceFile.Units)

ありがとうございました!

jmarkmurphy:

あなたは正しいです、ケースは、あなたが望むものです。このようにそれを試してみてください。

select
  sum(case when ServiceFile.SERVICE_START > 20200101
              then (ServiceFile.Rate * ServiceFile.Units)   
           else 0 end) as "TotalServiceStarts",
  sum(case when ServiceFile.SERVICE_STOP > 20200101
              then (ServiceFile.Rate * ServiceFile.Units)
           else 0 end) as "TotalServiceStops"
from ServiceFile
where service_start > 20200101
   or service_stop > 20200101;

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=369667&siteId=1