Hola compañeros;
tengo un error en una búsqueda formateada para el detalle de factura de proveedores, lo que deseo es que cuando el campo Centro de costo sea igual a 150 me muestre un subquery.
SELECT
(
CASE WHEN $[$39.2004.0]= '150'
THEN
SELECT T0.OcrCode,T0.OcrName, T1.Balance, T0.OcrTotal
FROM [OOCR] T0
INNER JOIN [OPRC] T1 ON T1.PrcCode=T0.OcrCode
END)
Pero si en vez del subquery le pongo que me muestre un texto funciona bien, o el query solo también funciona, que le falta a la busqueda formateada? gracias
Creaste tu tema en el “limbo”, por ello tienes poca visibilidad, ya lo muevo a la sección de Business One.
De igual manera te invito a que marques la solución a tus temas, dando una vista rápida a tu perfil me doy cuenta que tienes varios temas sin seguimiento, la comunidad te ha brindado grandes respuestas, sería un buen gesto apoyar marcando las soluciones.
No se bien que resultado quieres obtener al hacerlo de esa forma, pero aunque no fuera una búsqueda formateada eso no se puede ejecutar, los paréntesis están mal colocados.
En el supuesto de que funcionara, lo único que hace el query es devolver una lista de todas las normas de reparto.
Tienes estas 2 opciones de acuerdo a lo que logro entiendo:
1.- cambia el case por un IF
IF $[$39.2004.0] = '150'
BEGIN
SELECT T0.OcrCode,T0.OcrName, T1.Balance, T0.OcrTotal
FROM [OOCR] T0
INNER JOIN [OPRC] T1 ON T1.PrcCode=T0.OcrCode
END
2.- solo devuelve los que coincidan con el centro de costo (150)
SELECT T0.OcrCode,T0.OcrName, T1.Balance, T0.OcrTotal
FROM [OOCR] T0 INNER JOIN [OPRC] T1 ON T1.PrcCode=T0.OcrCode
WHERE T0.OcrCode = '150' AND T0.OcrCode = $[$39.2004.0]