我最近刚开始在一家使用Progress OpenEdge 10.1B作为存储我们所有订单数据的方式的公司中工作。我们将其与Crystal Reports XI结合使用,可以为公司的不同部门创建一系列不同的报告。这不是我熟悉的系统,但是老板要求我尝试对他生成的其中一个报告运行SQL查询,以便在某些条件下将两个单独的行加在一起。
现在,当他从OpenEdge调用所有相关数据时,它将创建此SQL查询-
SELECT "esthead1"."k-est-code", "estseqqty1"."k-seq", "estseqqty1"."estsq-qty", "estroute1"."kdeptsn", "estroute1"."estr-run-cost-or", "estroute1"."estr-mr-cost-or", "estrcoat1"."estrc-cost-or" FROM {oj (("VISION"."PUB"."esthead" "esthead1" LEFT OUTER JOIN "VISION"."PUB"."estseqqty" "estseqqty1" ON ("esthead1"."kco"="estseqqty1"."kco") AND ("esthead1"."k-est-code"="estseqqty1"."k-est-code")) LEFT OUTER JOIN "VISION"."PUB"."estroute" "estroute1" ON (("estseqqty1"."kco"="estroute1"."kco") AND ("estseqqty1"."k-est-code"="estroute1"."k-est-code")) AND ("estseqqty1"."k-seq"="estroute1"."k-seq")) LEFT OUTER JOIN "VISION"."PUB"."estrcoat" "estrcoat1" ON (("estseqqty1"."kco"="estrcoat1"."kco") AND ("estseqqty1"."k-est-code"="estrcoat1"."k-est-code")) AND ("estseqqty1"."k-seq"="estrcoat1"."k-seq")} WHERE "esthead1"."k-est-code"='S45160/002'
字段kdeptsn每个订单都有两个实例,但是每个实例都有不同的附加成本,如estrc-co-or所示。我想提取所有这些数据,但将两个实例合计为一行。
我遇到的问题是,过去,我总是有一个SQL表可以直接查看和引用。我不会使用OpenEdge,Crystal Reports建议通过Crystal Reports从OpenEdge接收的任何数据生成上述SQL公式。
如果您能给我任何建议,我将不胜感激!谢谢!