我有一个 MySQL SQL 可以很好地处理 Jaspersoft 报告:
SELECT pr.id AS project_id,
pr.project_name as project_name,
pr.export_event_id,
au.full_name,
ee.timestamp
FROM (
SELECT project.id, project.project_name, MAX(project.export_event_id) AS max_export_event_id FROM project INNER JOIN export_event iee ON project.export_event_id = iee.id
where IIF ($P{exportEventDate} IS NULL, TRUE, CONVERT(DATE, iee.timestamp) <= $P{exportEventDate})
GROUP BY project_name
) AS in_PR INNER JOIN project AS pr ON pr.project_name = in_PR.project_name AND pr.export_event_id = in_PR.max_export_event_id
INNER JOIN project_owner_base pob ON pob.id = pr.project_owner_id
INNER JOIN export_event AS ee ON pr.export_event_id = ee.id
INNER JOIN auth_user au ON pob.auth_user_id = au.id
WHERE IIF ($P{projectOwner} IS NULL, TRUE, au.id = $P{projectOwner})
我正在尝试将其转换为 SQL Server,但找不到等效项。
将 $P{...} 视为“?”在动态 SQL 中 任何想法?
最佳答案
我认为这只是一个简单的 OR 语句。
Where @ProjectOwner IS NULL
OR au.id = @ProjectOwner
关于mysql - 将 mysql sql 转换为 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39150652/