サブクエリで特定の条件の下で列Cust_Status
を選択しているクエリを処理しています。私はこのクエリを実行するとサブステートメントでcase文の中に2つ以上の行が返されました
select distinct
C.Cust_Code [Cust #],
C.Cust_Start_Date [Start Date],
C.Cust_End_date [End Date],
(select
Cust_Status = (case
when cast(CUST_UPDATE_DATE_LT as DATE) = cast('2017-01-23 00:00:00' as Date)
then 'V'
when cast(CUST_UPDATE_DATE_LT as DATE) = cast('2017-01-22 00:00:00' as Date)
then 'I'
end)
from tblCustomers) [Cust Status],
M.Machine_ID,
M.Machine_Location
from
tblCustomers C
inner join
tblMachine M on C.Cust_Mach_Pkey = M.Pkey
は私が
サブクエリが1つのを超える値のエラーを返し、エラーを取得します。
ケース内のサブクエリを削除しても問題ありません。しかし、私は両方の日付条件のためだけに1つのレコードが存在すると確信しています。そのため、サブクエリが1つ以上の値を返す方法についてはわかりません。私を教えてください。
(1)使用しているデータベースで質問をタグ付けしてください。 (2)サンプルデータと所望の結果を提供する。 (3)実装しようとしている論理を説明してください。 –
@Gordon:3点の質問を投稿して詳細を尋ねると、それを提供する必要性やインセンティブを否定する回答を投稿するのはほとんど意味がありません。 –
どのDBMSを使用していますか?示されているコードは無効な(標準の)SQLです。 –