【发布时间】:2020-04-04 02:58:36
【问题描述】:
我正在尝试将 CASE 应用于我创建的列。 但问题是我在另一个选择中有一个选择 我正在使用该子查询的值来制作选择案例 我该怎么做?
SELECT
gc.IDGastosComunes,
v.IDPropiedad,
v.Depto,
v.NombreDueno,
(SELECT u2.IDCategoria
FROM usuarios_tipos u2
WHERE u2.IDUsuario = v.IDDueno AND
u2.IDTipo = 10) AS gc.IDCategoria, <-- This return an int -> 1, 2 or 3
CASE
WHEN IDCategoria = 1 THEN 'Convenio'
WHEN IDCategoria = 2 THEN 'Plus'
WHEN IDCategoria = 3 THEN 'Preferente'
WHEN IDCategoria = 4 THEN 'Premium'
WHEN IDCategoria = 5 THEN 'La Serena'
ELSE ''
END AS Categoria, <-- This has to show the string
gc.monto,
gc.FechaEmisionPago AS Periodo
FROM
gastos_comunes gc
JOIN vcartera_propiedades v ON (v.IDPropiedad=gc.IDPropiedad)
WHERE v.IDGrupo = 1
【问题讨论】:
-
既然您只期望每个外部查询记录有一个匹配项,为什么不直接加入呢?它通常比相关子查询便宜。
-
我试过了,但情况正在削减预期的结果