Oracle SQL Как я могу отделить значения от столбца в двух разных столбцах?
Я хочу закодировать запрос, чтобы получить описание некоторых концепций и их соответствующую цену, но я хочу сделать два разных столбца, чтобы классифицировать две разные категории товаров по значениям. Является ли это возможным?
SELECT b.descripcion CONCEPTO, a.cantidad, a.importe,
c.descripcion
FROM detalles_liquidaciones a
JOIN conceptos b
ON (a.codigo_concepto = b.codigo)
JOIN tipos_conceptos c
ON (b.codigo_tipo = c.codigo)
WHERE a.numero_liquidacion = 13802
AND c.descripcion IN ('HABER', 'RETENCION', 'ANTICIPO');
Я хочу закодировать что-то вроде этого: Идеальный запрос
1 ответ
Решение
Может ли это работать? (Возможно, есть лучшее решение, оно кажется немного сложным... буквально "переключение"):
SELECT Concepto ,
(CASE
WHEN description LIKE 'HABER' THEN
importe
ELSE
NULL
END) haberes,
(CASE
WHEN description LIKE 'HABER' THEN
cantidad
ELSE
NULL
END) cantidad,
(CASE
WHEN description LIKE 'RETENCION' OR description LIKE 'ANTICIPO' THEN
importe
ELSE
NULL
END) retenciones
FROM (SELECT b.descripcion concepto, a.cantidad, a.importe, c.descripcion
FROM detalles_liquidaciones a
JOIN conceptos b
ON (a.codigo_concepto = b.codigo)
JOIN tipos_conceptos c
ON (b.codigo_tipo = c.codigo)
WHERE a.numero_liquidacion = 13802
AND c.descripcion IN ('HABER', 'RETENCION', 'ANTICIPO'));