【发布时间】:2020-02-06 16:37:56
【问题描述】:
这是我第二次发帖,我从第一次发帖中得到了很多关于一些困难的良好反馈。我正在努力提高我的 SQL 技能并构建此查询,但我不知道如何处理
* 我设法纠正了我的问题中的所有原始错误,但还有最后一个疑问 *
select wo.si_number,ivh.total_cost, wo.bill_name,pnm.pn, pnm.description, woqh.approved_date,ivh.total_price,
(select sum(ivh.total_price - ivh.total_cost) / nullif(ivh.total_price,0) from invc_header ivh where wqh_auto_key = wqh.wqh_auto_key group by ivh.total_price) as CTP,
ivh.post_date, wwt.description, wqh.WQH_AUTO_KEY, wqh.POST_DESC
from wo_operation wo, parts_master pnm,wo_quote_header wqh,
wo_quote_detail wqd, invc_header ivh, wo_work_type wwt, wo_quote_header woqh
where wo.pnm_auto_key = pnm.pnm_auto_key
and wo.woo_auto_key = wqd.woo_ref
and wqd.wqh_auto_key = wqh.wqh_auto_key
and wqh.WQH_NUMBER = woqh.WQH_NUMBER
and ivh.wqh_auto_key (+)= wqh.wqh_auto_key
and wwt.wwt_auto_key (+)= wo.wwt_auto_key
and wo_type = 'External'
and wqh.POST_DESC is not NULL
and woqh.approved_date between to_date('01/01/2020', 'MM/DD/YYYY') and to_date('01/31/2020', 'MM/DD/YYYY')
order by ctp
我不确定如何让脚本只提取 ctp
【问题讨论】:
-
@CoderLee 嘿李!我尝试在几个不同的地方添加它,但我收到“无效标识符”错误。由于它源于子查询,我不确定将其放置在哪里
-
该子查询在运行时返回什么样的值,您使用的是 PL/SQL T-SQL 还是其他?
-
@CoderLee 返回的值是小数,所以我猜它会
-
我不知道为什么 Oracle 会在比较操作中抛出一个标识符错误,但也许可以尝试 AND CPT
-
@CoderLee 我相信这与 CTP 是基于子查询生成的字段有关。我认为我不能在外部查询中引用别名。
标签: sql subquery correlated-subquery