Im получение ошибки:Подзапрос возвратил более 1 значения. Это запрещено. Где ошибка?
Подзапрос возвратил более 1 значения. Это недопустимо, когда подзапрос следует =,! =, <, < =,>,> = или когда подзапрос используется как выражение.
Im, запутавшись, потому что он говорит мне, что ошибка происходит в строке 2, я не вижу, как это возможно?
UPDATE .patient_insurance
SET insurance_sequence = CASE def_cob
WHEN 1 THEN 'Primary'
WHEN 2 THEN 'Secondary'
WHEN 3 THEN 'Third'
WHEN 4 THEN 'Fourth'
WHEN 5 THEN 'Fifth'
WHEN 6 THEN 'Sixth'
WHEN 7 THEN 'Seventh'
WHEN 8 THEN 'Eigth'
WHEN 9 THEN 'Ninth'
END
,status_flag = CASE active_ind
WHEN 'Y' THEN 'Yes'
ELSE 'No'
END
,insurance_company_id = (
SELECT id
FROM insurance
WHERE companyname = payer_name
)
,insurance_number = policy_nbr
,policy_group = group_nbr
FROM person_payer
,person
WHERE person.person_id = person_payer.person_id
AND EXISTS (
SELECT *
FROM patient_insurance
WHERE cast(person_payer_id AS VARCHAR(50)) = isnull(custom_field_22, '')
)
AND isnull(custom_field_22, '') = cast(person_payer_id AS VARCHAR(50))
выполните свой подзапрос самостоятельно и посмотрите, сколько строк он возвращает. –
У вас есть два подзапроса, только один из которых следует за '='. (Важно, чтобы на самом деле * читать слова в сообщении об ошибке * - они содержат полезную информацию.) Прочитайте запросы, выясните, какой из двух он основан на этой информации, а затем выполните этот подзапрос сами по себе, чтобы увидеть что он возвращает. –