简体   繁体   English

将Oracle外部联接转换为SQL Server

[英]Convert Oracle outer join to SQL Server

I'm having trouble converting this Oracle SQL to SQL server. 我无法将此Oracle SQL转换为SQL Server。

This is the query: 这是查询:

    SELECT CM.ModuleID,
           CM.ModuleDescription,
           CM.ImageIndex,
            CASE
             WHEN CMAC.ClassID IS NULL THEN
              'N'
             ELSE
              'Y'
           END AS Checked
      FROM APP_MODULES         CM,
           APP_PROFILE         CMAP,
           APP_PROFILE_CLASS   CMAC
      WHERE 1 = 1
       AND CM.ParentModuleID IS NULL
       AND CMAP.ProfileID(+) = CMAC.ProfileID
       AND CM.ModuleID = CMAC.ModuleID(+)
       AND CMAC.ProfileID(+) = P_ProfileID
       AND CM.Activated = 'Y'
     ORDER BY CM.Ordem;

Can anyone help me? 谁能帮我?

This should work in SQL Server: 这应该在SQL Server中起作用:

SELECT CM.ModuleID,
       CM.ModuleDescription,
       CM.ImageIndex,
        CASE
         WHEN CMAC.ClassID IS NULL THEN
          'N'
         ELSE
          'Y'
       END AS Checked
  FROM APP_MODULES         CM,
       LEFT JOIN APP_PROFILE_CLASS CMAC 
            ON(CMAC.ProfileID = P_ProfileID AND CM.ModuleID = CMAC.ModuleID)
       LEFT JOIN APP_PROFILE CMAP
            ON(CMAP.ProfileID = CMAC.ProfileID)
  WHERE 1 = 1
   AND CM.ParentModuleID IS NULL
   AND CM.Activated = 'Y'
 ORDER BY CM.Ordem;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM