我有一個從SQL Server遷移到MySQL的數據庫。我在SQL Server中有一個現有的查詢來獲取關係不爲null的列的值,我的意思是,如果兩個表之間的關係爲null,那麼這意味着應該與另一個表有關係。獲取關係不爲NULL的列
這是我用的是查詢:
SELECT C.expediente,
C.status,
Sum(M.monto) AS monto,
Sum(M.interes) AS interes,
Sum(M.iva) AS iva,
Sum(M.capital) AS capital,
M.fecha_mov,
AB.tipo_abono,
AB.id_deposito,
Isnull(Min(tg.nombre), Min(tp.nombcomp)) AS nombreGrupo
FROM movimientos AS M
JOIN acreditados AS A
ON A.id_acreditado = M.id_acreditado
JOIN creditos AS C
ON C.id_credito = A.id_credito
JOIN abonos AS AB
ON AB.id_movimiento = M.id_movimiento
OUTER apply (SELECT TOP 1 G.nombre
FROM grupos G
WHERE G.id_credito = C.id_credito) tg
OUTER apply (SELECT TOP 1 P.nombres + ' ' + P.apellido_paterno + ' '
+ P.apellido_materno AS NombComp
FROM personas P
WHERE A.id_persona = P.id_persona) tp
GROUP BY M.fecha_mov,
AB.tipo_abono,
AB.id_deposito,
C.expediente,
C.status
ORDER BY M.fecha_mov
但似乎MySQL有沒有OUTER APPLY
或ISNULL
。我怎樣才能把這個查詢翻譯成MySQL?
我不太確定OUTER APPLY,但對於ISNULL,你試過IS NULL(有空格)嗎? – Infiltrator
我試過,但MySQL IS NULL只評估一個表達式,也許COALESCE函數做的伎倆,但我仍然堅持外部應用部分 –
問題,你從表'grupos'和'personas'得到什麼?隨機記錄每個'id_credito'和'id_persona',分別? –