複数の値を持つCASEはどのように使用できますか?ここに私のクエリです:条件を更新したSQL Server
UPDATE car_availability
SET availability_status = CASE
WHEN car_no = (SELECT A.car_no
FROM car_maintenance A
WHERE A.car_no = car_no
AND A.Start_Date = (SELECT DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0)))
THEN 'For Maintenance'
ELSE 'Good'
END
と私は、サブクエリが1つの以上の値を返し、エラー
を取得しています。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。 ステートメントが終了しました。
car_maintenance
テーブルでは、私はそれがメンテナンスのための車のセットを持っている間にcar_availability
テーブルに私はすべての車を持っています。 car_maintenance
の下にあるすべての車のavailability_status
を「保守のために」設定したいと思います。どうやってやるの?
car_availability
の私の列はcar_no
とcar_availability
です。または、IF ELSEを使用してこれを行うことはできますか?前もって感謝します。 car_maintenance
表について
、列はあなたが(=の代わりに)IN句を使用するコールド
car_no, maintenance_category, start_date_of_maintenance, end_date_of_maintenance
ありがとうございます。 availability_statusの下に複数のCASEを持つことはできますか? –
可用性ステータスに異なる値を割り当てることができるので、条件が複数ある場合があります。 – scaisEdge