mysql - 将 mysql sql 转换为 sql server

标签 mysql sql sql-server

我有一个 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/

相关文章:

MySQL 独特的性能

sql - 将存储在 NoSQL DB 中的数据与存储在 SQL DB 中的数据相关联

javascript - 在 HTML 下拉菜单中显示 PHP 变量

SQL 两个子查询的 MAX 值

sql - 如何将具有任何列的值表复制到具有一列的其他表

sql - 如何编写SQL查询以标识特定字段中的重复值?

php - 如何在 union 上更新

mysql - c 上的 const char 具有相同的变量但不同的值

mysql - 如何折叠这个嵌套的 MySQL 查询?

sql-server - 如何使用查询删除sql server中的非空约束