Plsql 无法使PL SQL与两个select语句相除

Plsql 无法使PL SQL与两个select语句相除,plsql,Plsql,我需要帮助让这个代码正常工作。我尝试使用两个sql语句来执行除法 select ((select count(p.issued) from permit p where trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY')) AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY'))) / (select count(p.issued)

我需要帮助让这个代码正常工作。我尝试使用两个sql语句来执行除法

 select ((select count(p.issued) 
 from permit p
 where trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY')) 
 AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY')))
 /
 (select count(p.issued)  
 from permit p
where (TO_DATE(p.issued) - sysdate) <= 21
and trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY')) 
AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY')))) as permitPercemt;
您需要再添加一个选择:

更新 因此,您的查询将如下所示:

SELECT (
(
  select count(p.issued)  
  from permit p 
  where trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY'))  
  AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY'))
) /
(
  select count(p.issued)      
  from permit p    
  where (TO_DATE(p.issued) - sysdate) <= 21    
  and trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY'))     
  AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY'))
)
) as permitPercent FROM DUAL;

不能分割整个select语句


您可以将两个值除以,然后作为选择列表中的一列返回。

请您提供一个示例,说明我如何使用此代码进行此操作?根据a1ex07的建议,此代码少于三个选择。@recursive,对于该注释,我有两件事要说。1 :-; 2.这不是一项建议;这是一个必要的事实。。!尝试了三次选择并出现以下错误:ORA-00933:SQL命令未正确结束00933。00000-SQL命令未正确结束*原因:*操作:第35行列出错:70@BronoTheVibrator你能用使用3个选项的代码更新你的原始帖子吗?@BronoTheVibrator,你似乎缺少一个。。。在末尾添加来自dual的内容;最后的as嵌套错误且不必要-1您已编辑原始问题的代码示例以反映正确答案。请不要那样做,这很令人困惑。
SELECT (
(
  select count(p.issued)  
  from permit p 
  where trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY'))  
  AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY'))
) /
(
  select count(p.issued)      
  from permit p    
  where (TO_DATE(p.issued) - sysdate) <= 21    
  and trunc(p.issued) >= trunc(TO_DATE('1/1/2011','MM/DD/YYYY'))     
  AND trunc(p.issued) <= trunc(TO_DATE('1/31/2011','MM/DD/YYYY'))
)
) as permitPercent FROM DUAL;