|
|

楼主 |
发表于 2010/11/30 17:51:19
|
显示全部楼层
本帖最后由 peanut 于 2010/12/5 12:38 编辑
kenll 发表于 2010/11/30 11:29 
楼主要坚持啊,我可是天天都看wiki上的日志的
谢谢kenll的鼓励!
为了给销售合同创建JasperReport,今天在写SQL查询,有点复杂。
借助电子表格,终于把SQL查询写出来了,大概有177行,后来减到155行。(代码附在后面)
难处在于引用Reference和Table的地方比较绕。
我觉得这样写报表还是比较繁琐,不知道大家有没有更好的方法?
------------------------------中文-按照SeqNo排序。
SELECT
AD_Client_74.name AS "实体",
AD_Org_82.name AS "组织",
C_Order.contractno AS "合同编号",
C_Order.DocumentNo AS "单据号",
ref49_trl.name AS "业务类型",
C_Order.POReference AS "订单引用",
C_Order.Description AS "仅描述",
C_DocType_57_trl.name AS "目标单据类型",
C_Order.IsSelfService AS "自助服务",
C_Order.issueddate AS "合同签订日期",
C_Order.signedplace AS "签订地点",
C_Order.DateOrdered AS "下单日期",
C_Order.DatePromised AS "承诺日期",
C_BPartner_110.name AS "业务伙伴 ",
C_BPartner_56.name AS "发票伙伴",
C_BPartner_Location_73.name AS "伙伴位置",
C_BPartner_Location_62.name AS "发票地址",
AD_User_75.name AS "用户/联系人",
AD_User_61.name AS "发票联系人",
ref50_trl.name AS "配送规则",
ref43_trl.name AS "优先级",
M_Warehouse_81.name AS "仓库",
C_Order.IsDropShip AS "直接供货",
C_BPartner_111.name AS "直送伙伴",
C_BPartner_Location_66.name AS "直送地址",
AD_User_60.name AS "直送联系人",
M_Shipper_80.name AS "承运人",
ref42_trl.name AS "运输方式",
ref51_trl.name AS "运费成本规则",
M_FreightCategory_77.name AS "运费类别",
C_Order.FreightAmt AS "运费金额",
ref37_trl.name AS "包装物的供应",
ref36_trl.name AS "包装物回收",
ref54_trl.name AS "包装标准",
ref38_trl.name AS "是否薰蒸",
ref32_trl.name AS "运输方式",
ref33_trl.name AS "交货地点",
C_Order.portofdestination AS "目的港口",
C_Order.portofshipment AS "装运港口",
ref48_trl.name AS "交货期起算方法",
ref47_trl.name AS "交货期天数计算方法",
C_Order.timeofdelivery AS "交货期(天数)",
ref41_trl.name AS "I发票规则",
M_PriceList_84.name AS "价格表",
C_Currency_78_trl.description AS "币种",
C_ConversionType_83.name AS "货币汇率类型",
AD_User_58.name AS "销售代表",
C_Order.IsDiscountPrinted AS "打印折扣",
C_Charge_59.name AS "费用",
C_Order.ChargeAmt AS "费用金额",
ref103_trl.name AS "付款规则",
C_PaymentTerm_76_trl.name AS "付款条件",
C_Order.PromotionCode AS "促销编码",
ref39_trl.name AS "发票类型",
C_Order.paymentremitted AS "预付款到账日期",
ref45_trl.name AS "付款方式",
C_Project_72.name AS "工程",
C_Activity_71.name AS "活动",
C_Campaign_69.name AS "营销战役",
AD_Org_63.name AS "事务处理组织",
C_ElementValue_65_trl.name AS "用户 1",
C_ElementValue_64_trl.name AS "用户 2",
C_Order.TotalLines AS "行总计",
C_Order.GrandTotal AS "总额",
ref46_trl.name AS "单据状态",
C_DocType_70_trl.name AS "单据类型",
ref105_trl.name AS "处理订单",
ref107_trl.name AS "已过账",
C_Order.OrderType AS "订单类型",
C_OrderSource_79.name AS "订单来源",
ref55_trl.name AS "验收方式",
C_Order.advancepayment AS "预付款期限",
ref40_trl.name AS "是否要求预付货款",
ref53_trl.name AS "合同生效方式",
C_Order.priceisvaliddays AS "报价有效期限",
ref31_trl.name AS "合同失效方式",
ref34_trl.name AS "仲裁",
ref52_trl.name AS "安装调试人员食宿及来回交通费用承担",
C_Order.installationfeedetail AS "安装调试备注",
ref44_trl.name AS "质保期",
ref35_trl.name AS "售后服务",
C_Order.warrantystartdate AS "质保期起始日期",
C_Order.warrantyenddate AS "质保期停止日期",
C_Order.AmountRefunded AS "退款总计",
C_Order.AmountTendered AS "招标金额",
C_POS_68.name AS "POS 终端"
FROM C_Order
LEFT OUTER JOIN AD_Client AS AD_Client_74 ON (AD_Client_74.AD_Client_ID=C_Order.AD_Client_ID)
LEFT OUTER JOIN AD_Org AS AD_Org_82 ON (AD_Org_82.AD_Org_ID=C_Order.AD_Org_ID)
LEFT OUTER JOIN ad_ref_list_trl_v AS ref49_trl ON ((ref49_trl.ad_reference_id=1001000) AND (C_Order.businesstype=ref49_trl.value ) )
LEFT OUTER JOIN C_DocType_trl AS C_DocType_57_trl ON ((C_DocType_57_trl.C_DocType_ID=C_Order.C_DocTypeTarget_ID) AND (C_DocType_57_trl.ad_language='zh_CN'))
LEFT OUTER JOIN C_BPartner AS C_BPartner_110 ON (C_BPartner_110.C_BPartner_ID=C_Order.C_BPartner_ID)
LEFT OUTER JOIN C_BPartner AS C_BPartner_56 ON (C_BPartner_56.C_BPartner_ID=C_Order.Bill_BPartner_ID)
LEFT OUTER JOIN C_BPartner_Location AS C_BPartner_Location_73 ON (C_BPartner_Location_73.C_BPartner_Location_ID=C_Order.C_BPartner_Location_ID)
LEFT OUTER JOIN C_BPartner_Location AS C_BPartner_Location_62 ON (C_BPartner_Location_62.C_BPartner_Location_ID=C_Order.Bill_Location_ID)
LEFT OUTER JOIN AD_User AS AD_User_75 ON (AD_User_75.AD_User_ID=C_Order.AD_User_ID)
LEFT OUTER JOIN AD_User AS AD_User_61 ON (AD_User_61.AD_User_ID=C_Order.Bill_User_ID)
LEFT OUTER JOIN ad_ref_list_trl_v AS ref50_trl ON ((ref50_trl.ad_reference_id=151) AND (C_Order.DeliveryRule=ref50_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref43_trl ON ((ref43_trl.ad_reference_id=154) AND (C_Order.PriorityRule=ref43_trl.value ) )
LEFT OUTER JOIN M_Warehouse AS M_Warehouse_81 ON (M_Warehouse_81.M_Warehouse_ID=C_Order.M_Warehouse_ID)
LEFT OUTER JOIN C_BPartner AS C_BPartner_111 ON (C_BPartner_111.C_BPartner_ID=C_Order.DropShip_BPartner_ID)
LEFT OUTER JOIN C_BPartner_Location AS C_BPartner_Location_66 ON (C_BPartner_Location_66.C_BPartner_Location_ID=C_Order.DropShip_Location_ID)
LEFT OUTER JOIN AD_User AS AD_User_60 ON (AD_User_60.AD_User_ID=C_Order.DropShip_User_ID)
LEFT OUTER JOIN M_Shipper AS M_Shipper_80 ON (M_Shipper_80.M_Shipper_ID=C_Order.M_Shipper_ID)
LEFT OUTER JOIN ad_ref_list_trl_v AS ref42_trl ON ((ref42_trl.ad_reference_id=152) AND (C_Order.DeliveryViaRule=ref42_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref51_trl ON ((ref51_trl.ad_reference_id=153) AND (C_Order.FreightCostRule=ref51_trl.value ) )
LEFT OUTER JOIN M_FreightCategory AS M_FreightCategory_77 ON (M_FreightCategory_77.M_FreightCategory_ID=C_Order.M_FreightCategory_ID)
LEFT OUTER JOIN ad_ref_list_trl_v AS ref37_trl ON ((ref37_trl.ad_reference_id=1001010) AND (C_Order.packagingprovide=ref37_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref36_trl ON ((ref36_trl.ad_reference_id=1001011) AND (C_Order.packagingrecycle=ref36_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref54_trl ON ((ref54_trl.ad_reference_id=1001001) AND (C_Order.packingstandard=ref54_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref38_trl ON ((ref38_trl.ad_reference_id=319) AND (C_Order.fumigation=ref38_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref32_trl ON ((ref32_trl.ad_reference_id=1001008) AND (C_Order.modeofshipment=ref32_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref33_trl ON ((ref33_trl.ad_reference_id=1001009) AND (C_Order.placeofdelivery=ref33_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref48_trl ON ((ref48_trl.ad_reference_id=1001002) AND (C_Order.timeofdeliverystarttype=ref48_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref47_trl ON ((ref47_trl.ad_reference_id=1001003) AND (C_Order.timeofdeliverydaytype=ref47_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref41_trl ON ((ref41_trl.ad_reference_id=150) AND (C_Order.InvoiceRule=ref41_trl.value ) )
LEFT OUTER JOIN M_PriceList AS M_PriceList_84 ON (M_PriceList_84.M_PriceList_ID=C_Order.M_PriceList_ID)
LEFT OUTER JOIN C_Currency_trl AS C_Currency_78_trl ON ((C_Currency_78_trl.C_Currency_ID=C_Order.C_Currency_ID) AND (C_Currency_78_trl.ad_language='zh_CN'))
LEFT OUTER JOIN C_ConversionType AS C_ConversionType_83 ON (C_ConversionType_83.C_ConversionType_ID=C_Order.C_ConversionType_ID)
LEFT OUTER JOIN AD_User AS AD_User_58 ON (AD_User_58.AD_User_ID=C_Order.SalesRep_ID)
LEFT OUTER JOIN C_Charge AS C_Charge_59 ON (C_Charge_59.C_Charge_ID=C_Order.C_Charge_ID)
LEFT OUTER JOIN ad_ref_list_trl_v AS ref103_trl ON ((ref103_trl.ad_reference_id=195) AND (C_Order.PaymentRule=ref103_trl.value ) )
LEFT OUTER JOIN C_PaymentTerm_trl AS C_PaymentTerm_76_trl ON ((C_PaymentTerm_76_trl.C_PaymentTerm_ID=C_Order.C_PaymentTerm_ID) AND (C_PaymentTerm_76_trl.ad_language='zh_CN'))
LEFT OUTER JOIN ad_ref_list_trl_v AS ref39_trl ON ((ref39_trl.ad_reference_id=1001015) AND (C_Order.invoicetype=ref39_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref45_trl ON ((ref45_trl.ad_reference_id=1001007) AND (C_Order.paymentmethod=ref45_trl.value ) )
LEFT OUTER JOIN C_Project AS C_Project_72 ON (C_Project_72.C_Project_ID=C_Order.C_Project_ID)
LEFT OUTER JOIN C_Activity AS C_Activity_71 ON (C_Activity_71.C_Activity_ID=C_Order.C_Activity_ID)
LEFT OUTER JOIN C_Campaign AS C_Campaign_69 ON (C_Campaign_69.C_Campaign_ID=C_Order.C_Campaign_ID)
LEFT OUTER JOIN AD_Org AS AD_Org_63 ON (AD_Org_63.AD_Org_ID=C_Order.AD_OrgTrx_ID)
LEFT OUTER JOIN C_ElementValue_trl AS C_ElementValue_65_trl ON ((C_ElementValue_65_trl.C_ElementValue_ID=C_Order.User1_ID) AND (C_ElementValue_65_trl.ad_language='zh_CN'))
LEFT OUTER JOIN C_ElementValue_trl AS C_ElementValue_64_trl ON ((C_ElementValue_64_trl.C_ElementValue_ID=C_Order.User2_ID) AND (C_ElementValue_64_trl.ad_language='zh_CN'))
LEFT OUTER JOIN ad_ref_list_trl_v AS ref46_trl ON ((ref46_trl.ad_reference_id=131) AND (C_Order.DocStatus=ref46_trl.value ) )
LEFT OUTER JOIN C_DocType_trl AS C_DocType_70_trl ON ((C_DocType_70_trl.C_DocType_ID=C_Order.C_DocType_ID) AND (C_DocType_70_trl.ad_language='zh_CN'))
LEFT OUTER JOIN ad_ref_list_trl_v AS ref105_trl ON ((ref105_trl.ad_reference_id=135) AND (C_Order.DocAction=ref105_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref107_trl ON ((ref107_trl.ad_reference_id=234) AND (C_Order.Posted=ref107_trl.value ) )
LEFT OUTER JOIN C_OrderSource AS C_OrderSource_79 ON (C_OrderSource_79.C_OrderSource_ID=C_Order.C_OrderSource_ID)
LEFT OUTER JOIN ad_ref_list_trl_v AS ref55_trl ON ((ref55_trl.ad_reference_id=1001006) AND (C_Order.acceptancemethod=ref55_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref40_trl ON ((ref40_trl.ad_reference_id=319) AND (C_Order.advancepaymentrequired=ref40_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref53_trl ON ((ref53_trl.ad_reference_id=1001004) AND (C_Order.contracteffectiveway=ref53_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref31_trl ON ((ref31_trl.ad_reference_id=1001005) AND (C_Order.conditionofcontactinvalidation=ref31_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref34_trl ON ((ref34_trl.ad_reference_id=1001014) AND (C_Order.arbitration=ref34_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref52_trl ON ((ref52_trl.ad_reference_id=1001016) AND (C_Order.installationfeepaymentside=ref52_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref44_trl ON ((ref44_trl.ad_reference_id=1001012) AND (C_Order.warrantyperiod=ref44_trl.value ) )
LEFT OUTER JOIN ad_ref_list_trl_v AS ref35_trl ON ((ref35_trl.ad_reference_id=1001013) AND (C_Order.aftersaleservice=ref35_trl.value ) )
LEFT OUTER JOIN C_POS AS C_POS_68 ON (C_POS_68.C_POS_ID=C_Order.C_POS_ID) ;
|
|