Tenemos una consulta formateada que trae el valor en un campo.queremos agregar una condición Case When si cumple con la condición que tiene valor el OverCode trae ese valor , si no se va al then y trae el valor que esta en la otra tabla . Si me pueden ayudar. Atento a sus comentarios
SELECT
case when "OverCode" >= '1' then (select "OverCode" FROM OACT where AcctCode = "$[POR1.AcctCode]" )
else
(SELECT "U_DIMENSION1" from "@VK_LISTA1" where "U_COD1" = "$[POR1.U_USUARIO]" ) END
Tema editado por SidV; razones:
Título anterior: “Estimados si me pueden ayudar con esta”
No es descriptivo del error, por favor, usemos títulos que expliquen de lo que se hablará en el debate.
Código sin formato, se editó el mensaje y se pasa formato al código pegado.
Nuevo título: “Cómo agregar una condición Case When a consulta”
Etiqueta agregada: sql ya que se habla de consultas SQL.
Por favor, ayudennos a mantener el orden y la organización del foro, todos formamos parte de esta comunidad. Si hay dudas, sobre cómo usar el foro, leer: Cómo usar el foro de Consultoria-SAP
SELECT
CASE T0."OverCode"
WHEN > = '1' THEN (SELECT SUBSTRING T0."OverCode"
FROM OACT T0
WHERE T0."AcctCode" = $[POR1."AcctCode"])
ELSE (SELECT SUBSTRING T1."U_DIMENSION1"
FROM "@VK_LISTA1" T1
WHERE T1."U_COD1" = $[POR1."U_USUARIO"]) END AS "ALGO"
estimado, me falla pero si esta revisando los campos. te envio codigo de la consulta…
SELECT
CASE when T0."OverCode" IS NOT NULL THEN (SELECT T0."OverCode"
FROM OACT T0
WHERE T0."AcctCode" = '10262003')
ELSE (SELECT T1."U_DIMENSION1"
FROM "@VK_LISTA1" T1
WHERE T1."U_COD1" = 'manager') END AS "OcrCode"
Te falta un From, ya hice la prueba en SQL, cambié tu table definida por usuario por la OCRD ya que yo no tengo dicha tabla
SELECT
CASE WHEN T0.OverCode IS NOT NULL THEN (SELECT T0.OverCode
FROM OACT T0
WHERE T0.AcctCode = '10262003')
ELSE (SELECT T1.CardCode
FROM OCRD T1
WHERE T1.CardCode = 'C00001') END AS 'OcrCode'
FROM OACT T0