Plsql 无法使PL SQL与两个select语句相除
我需要帮助让这个代码正常工作。我尝试使用两个sql语句来执行除法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)
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;