Я работал над запросом, в соответствии с которым в подзапросе я выбираю столбец Cust_Status
при определенных условиях.Подзапрос возвратил более 1 строки внутри оператора case
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: Не имеет смысла публиковать трехточечный вопрос с просьбой предоставить дополнительную информацию, а затем опубликовать ответ, который отрицает необходимость или стимул для их предоставления. –
Какая СУБД вы используете? Показанный код недействителен (стандартный) SQL. –