Die folgende SELECT-Anweisung funktioniert gut.Verwendung von Select sub innerhalb UPDATE Abfrage
SELECT *
FROM [VoiceflexBilling].[dbo].[FEBU17_OWH07579_Calls - TEST] A
WHERE EXISTS (SELECT 1
FROM [BillingReferenceData].[dbo].[CLIMapping] B
WHERE A.CustomerCLI = B.CLI AND A.CustomerCLI = '84422881')
Allerdings, wenn ich es in einer CASE-Anweisung wickeln, wie weiter unten
UPDATE [VoiceflexBilling].[dbo].[FEBU17_OWH07579_Calls - TEST]
SET [VoiceflexBilling].[dbo].[FEBU17_OWH07579_Calls - TEST].[CustomerCLI] =
CASE WHEN
SELECT *
FROM [VoiceflexBilling].[dbo].[FEBU17_OWH07579_Calls - TEST] A
WHERE EXISTS (SELECT 1
FROM [BillingReferenceData].[dbo].[CLIMapping] B
WHERE A.CustomerCLI = B.CLI AND A.CustomerCLI = '84422881'))>1
THEN 'X' ELSE 'Y' END
Es schlägt mit dem folgenden Fehler
„Nur ein Ausdruck in der Auswahlliste angegeben werden, wenn die Unterabfrage nicht eingeführt mit exists“
Ich vermute, es sollte 'Select count (*)' ... Select * gibt eine Ergebnismenge zurück, und Sie versuchen, das mit einem skalaren Wert zu vergleichen ... –