CAS de la Clause sur la clause select jeter 'SQLCODE=-811, SQLSTATE=21000' Erreur

Cette requête est très bien de travailler dans Oracle. Mais il n'est pas de travail dans DB2. Il est en train de jeter

DB2 SQL Error: SQLCODE=-811, SQLSTATE=21000, SQLERRMC=null, PILOTE=3.61.65

erreur lorsque la sous-requête en vertu de l' THEN clause est de retour en 2 lignes.

Cependant, ma question est: pourquoi serait-il exécuter, en premier lieu, comme mon QUAND clause s'avère être faux toujours.

SELECT 
CASE
WHEN (SELECT COUNT(1)
  FROM STOP ST,
    FACILITY FAC
  WHERE ST.FACILITY_ID     = FAC.FACILITY_ID
  AND FAC.IS_DOCK_SCHED_FAC=1
  AND ST.SHIPMENT_ID       = 2779) = 1
THEN
  (SELECT ST.FACILITY_ALIAS_ID
  FROM STOP ST,
    FACILITY FAC
  WHERE ST.FACILITY_ID     = FAC.FACILITY_ID
  AND FAC.IS_DOCK_SCHED_FAC=1
  AND ST.SHIPMENT_ID       = 2779
  )
ELSE NULL
END STAPPFAC
FROM SHIPMENT SHIPMENT
WHERE SHIPMENT.SHIPMENT_ID IN (2779);
  • La version de db2 utilisez-vous?
InformationsquelleAutor user2661315 | 2014-09-27