CASE combinado en un SELECT
Publicado por Andres (1 intervención) el 12/03/2009 13:38:01
Buenas gente, tengo el siguiente problema que por lo que lei puedo solucionarlo con el CASE dentro de un SELECT. WEs la primera vez que lo intento, tal vez puedan decirme que etoy haciendo mal o que es lo que no puedo hacer. Gracias de antemano
Problema
--------------
Necesito usar el CASE combinando 2 campos #Tmp.cuota y #Tmp.envio pero me da el siguiente error:
Mens 102, Nivel 15, Estado 1, Procedimiento TEST, Línea 102
Sintaxis incorrecta cerca de '='.
...
create table Destino(d_item smallint, d_numero int, d_cantidad int, d_cantnew int)
create table #Tmp(item smallint, numero int, cantidad int, cuota int, envio bit )
...
INSERT INTO Destino(d_item, d_numero, d_cantidad, d_cantnew)
(SELECT #Tmp.item,#Tmp.numero,#Tmp.cantidad,
CASE
WHEN (#Tmp.cuota=0 AND #Tmp.envio=0)
THEN #Tmp.cantidad
WHEN (#Tmp.cuota>0 AND #Tmp.envio=1)
THEN #Tmp.cantidad
WHEN (#Tmp.cuota>0 AND #Tmp.envio=0)
THEN 0
ELSE #Tmp.cantidad
END
FROM #Tmp)
Problema
--------------
Necesito usar el CASE combinando 2 campos #Tmp.cuota y #Tmp.envio pero me da el siguiente error:
Mens 102, Nivel 15, Estado 1, Procedimiento TEST, Línea 102
Sintaxis incorrecta cerca de '='.
...
create table Destino(d_item smallint, d_numero int, d_cantidad int, d_cantnew int)
create table #Tmp(item smallint, numero int, cantidad int, cuota int, envio bit )
...
INSERT INTO Destino(d_item, d_numero, d_cantidad, d_cantnew)
(SELECT #Tmp.item,#Tmp.numero,#Tmp.cantidad,
CASE
WHEN (#Tmp.cuota=0 AND #Tmp.envio=0)
THEN #Tmp.cantidad
WHEN (#Tmp.cuota>0 AND #Tmp.envio=1)
THEN #Tmp.cantidad
WHEN (#Tmp.cuota>0 AND #Tmp.envio=0)
THEN 0
ELSE #Tmp.cantidad
END
FROM #Tmp)
Valora esta pregunta


0