将Oracle外部联接转换为SQL Server [英] Convert Oracle outer join to SQL Server

查看:63
本文介绍了将Oracle外部联接转换为SQL Server的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法将此Oracle SQL转换为SQL Server.

I'm having trouble converting this Oracle SQL to 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,
           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;

有人可以帮助我吗?

推荐答案

这应在SQL Server中起作用:

This should work in 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;

这篇关于将Oracle外部联接转换为SQL Server的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆