case whenを記録しましょう(whereの後で条件をフィルタします)
651 ワード
SELECT
PrUser.*
FROM
PrUser
WHERE
(PrUser. STATUS != '4')
AND (
PrUser. STATUS = '1'
OR PrUser. STATUS = '2'
)
AND PrUser.uid NOT LIKE '%admin%'
AND CASE
WHEN (
PrUser.jlunit IS NOT NULL
AND PrUser.jlunit <> ''
) THEN
(PrUser.jlunit = ?)
WHEN (
PrUser.partUnitId IS NOT NULL
AND PrUser.partUnitId <> ''
) THEN
(PrUser.partUnitId = ?)
WHEN (
PrUser.orgId IS NOT NULL
AND PrUser.orgId <> ''
) THEN
(PrUser.orgId = ?)
END
AND PrUser.eid = 'esc'
ORDER BY
PrUser.wechat ASC
主にcase when thenは初めてこれを使って、それから同時に空ではないとnullではないと判断します