为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:
【CPU】:
【问题描述】*:mysql中能运行 达梦中语法错误 要怎么修改呢
目前的思路是写一个存储函数跟mysql的IF
(expr1,expr2,expr3)功能一样的,怎么能看到mysql if函数的代码
sql:SELECT
*
FROM
zhjw_police_sq sq
LEFT JOIN zhjw_police_spjl spjl ON sq.id = spjl.sqjlid
WHERE
lx != ‘2’
AND sq.id IN (
SELECT
sq.id
FROM
zhjw_police_sq sq
LEFT JOIN zhjw_police_spjl spjl ON sq.id = spjl.sqjlid
WHERE
sq.creatuser = ‘858acd71b9a04b9eac026692f1a52df3’ OR spjl.spr = ‘858acd71b9a04b9eac026692f1a52df3’ )
AND
IF (
spjl.sqsj IS NULL,
TRUE,
spjl.sqsj IN (
SELECT
MAX(sqsj)
FROM
zhjw_police_spjl
GROUP BY
sqjlid
)
)
ORDER BY
sq.sqsj DESC
LIMIT 0,15
表.sql
SELECT
*
FROM
zhjw_police_sq sq
LEFT JOIN zhjw_police_spjl spjl
ON
sq.id = spjl.sqjlid
WHERE
lx != ‘2’
AND sq.id IN
(
SELECT
sq.id
FROM
zhjw_police_sq sq
LEFT JOIN zhjw_police_spjl spjl
ON
sq.id = spjl.sqjlid
WHERE
sq.creatuser = ‘858acd71b9a04b9eac026692f1a52df3’
OR spjl.spr = ‘858acd71b9a04b9eac026692f1a52df3’
)
/* AND IF ( spjl.sqsj IS NULL, TRUE, spjl.sqsj IN
(
SELECT MAX(sqsj) FROM zhjw_police_spjl GROUP BY sqjlid
)
)
*/
and (spjl.sqsj IS NULL or (spjl.sqsj IS not NULL and spjl.sqsj IN
(
SELECT MAX(sqsj) FROM zhjw_police_spjl GROUP BY sqjlid
)
)
)
ORDER BY
sq.sqsj DESC LIMIT 0,15