Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL查询中匹配括号的建议、工具_Sql_Oracle10g_Syntax Highlighting - Fatal编程技术网

在SQL查询中匹配括号的建议、工具

在SQL查询中匹配括号的建议、工具,sql,oracle10g,syntax-highlighting,Sql,Oracle10g,Syntax Highlighting,有人能告诉我一个很好的方法来检查括号在下面这样的查询中是如何丢失的,在哪里丢失的,或者是否过多 例如,此查询返回缺少右括号的错误。但是在哪里 SELECT * FROM ( SELECT X.*, ROWNUM AS RN FROM (SELECT ORG_UNIT, QUEUE_NAME, CASE_STATUS, AGENT_ROLE, COUNT(*) AS CASE_COUNT FROM ( SELECT ORG_UNIT, QUEUE_NAME, CR

有人能告诉我一个很好的方法来检查括号在下面这样的查询中是如何丢失的,在哪里丢失的,或者是否过多

例如,此查询返回缺少右括号的错误。但是在哪里

SELECT * FROM ( SELECT X.*, ROWNUM AS RN FROM (SELECT ORG_UNIT, QUEUE_NAME, CASE_STATUS, AGENT_ROLE, COUNT(*) AS CASE_COUNT 
   FROM 
   (    
     SELECT ORG_UNIT, QUEUE_NAME, CREATION_TIMESTAMP, CASE_STATUS, AGENT_ROLE
     FROM 
     (   SELECT OU.NAME AS ORG_UNIT,            D.NAME AS QUEUE_NAME, 
                WS.NAME AS CASE_STATUS,  C.ASSIGNED_TO AS AGENT_ID,  C.CREATION_TIMESTAMP AS CREATION_TIMESTAMP,
                CASE NVL(C.ASSIGNED_TO, -1) WHEN -1 THEN 'Unassigned' ELSE RU.ROLE_NAME END AS AGENT_ROLE 
           FROM CASES C 
           JOIN ORGANIZATION_UNITS OU ON OU.ID = C.ORGUNIT_ID       
           JOIN WORKFLOW_STATUSES WS ON WS.ID = C.STATUS_ID 
           JOIN DOMAINS D ON D.ID = C.DOMAIN_ID 
           JOIN DOMAINS DP ON DP.ID = D.PARENT_ID
LEFT OUTER JOIN (SELECT DISTINCT C.ASSIGNED_TO AS AGENT_ID, RL.NAME AS ROLE_NAME 
                                  FROM CASES C 
                                    JOIN DOMAINS D ON D.ID = C.DOMAIN_ID 
                                    JOIN DOMAINS DP ON DP.ID = D.PARENT_ID 
                                    JOIN USER_GROUP_RELATIONS UGR ON UGR.USER_ID = C.ASSIGNED_TO 
                                    JOIN GRP_ORG_DOM_ROLE_RELATIONS GODRR ON (GODRR.GROUP_ID = (SELECT MAX(UGR.GROUP_ID) 
                                                                                                                                                                   FROM USER_GROUP_RELATIONS UGR 
                                                                                                                                                                 WHERE   UGR.USER_ID = C.ASSIGNED_TO) 
                                                                                                                   AND GODRR.DOMAIN_ID =C.DOMAIN_ID
                                                                                                                   AND GODRR.ORGANIZATION_ID = C.ORGUNIT_ID) 
  JOIN ROLES RL ON RL.ID = (SELECT MAX(GODRR.ROLE_ID) 
                                                  FROM GRP_ORG_DOM_ROLE_RELATIONS GODRR 
                                                WHERE GODRR.GROUP_ID = UGR.GROUP_ID 
                                                     AND GODRR.ORGANIZATION_ID = C.ORGUNIT_ID AND GODRR.DOMAIN_ID = C.DOMAIN_ID)            
                                WHERE DP.NAME='DD') RU ON RU.AGENT_ID = C.ASSIGNED_TO 
       WHERE DP.NAME='DD' 
     )  WHERE 1=1
   ) 
   GROUP BY ORG_UNIT, QUEUE_NAME, CASE_STATUS, AGENT_ROLE  
   ORDER BY ORG_UNIT, QUEUE_NAME, CASE_STATUS, AGENT_ROLE order by ORG_UNIT asc ) X ) WHERE RN > 0 AND RN <= 10

Crimson Edit和许多其他文本编辑器以及IDE都有大括号匹配

如果大括号匹配,但嵌套错误,则可能需要更改缩进策略

此外,代码格式化工具有时可以清楚地表明您遗漏了paren或嵌套错误的位置

这里是一个在线位置,您可以在其中粘贴代码,以查看其重新格式化


有很好的语法突出显示,否则我相信你可以花时间发布问题,并开始缩进和查找不匹配项。只要进行适当的缩进,缺失的偏执就会很容易出现。将所有子选项都放在单独的文档中,然后开始计数。@entek:它被称为派生表,它们非常常见。其中1=1——这绝对值得检查:非常感谢Matthew。我以后会小心压痕的。谢谢