zoukankan      html  css  js  c++  java
  • SQL 联合查询 + XML解析

    (select a.EBILLNO,
    a.EMPNAME,
    a.APPLYDATE,
    b.HS_NAME,
    replace(replace(a.SUMMARY,char(10), ''),char(13),'') as SUMMARY,
    cast(c.XmlData as XML).value('(/List/item/No/text())[1]','NVARCHAR(300)') as No,
    cast(c.XmlData as XML).value('(/List/item/zje/text())[1]','NVARCHAR(300)') as zje,
    cast(c.XmlData as XML).value('(/List/item/yfje/text())[1]','NVARCHAR(300)') as yfje,
    cast(c.XMLData as XML).value('(/List/item/bcje/text())[1]','NVARCHAR(300)') as bcje,
    cast(c.XMLData as XML).value('(/List/item/URL/text())[1]','NVARCHAR(300)') as URL,
    cast(c.XMLData as XML).value('(/List/item/Remark/text())[1]','NVARCHAR(300)') as BZ,
    cast(p.XMLData as XML).value('(/NewDataSet/Table1/UserName/text())[1]','NVARCHAR(500)') as SKRXM,
    ('http://……?sid=3&mid=7281&PID='+a.PID) as bxdljdz
    from Ex_Bill as a 
    left join Ex_System_Cfg as b on(a.BILLSYSTEMID=b.HS_ID and a.DATASYSTEMID=b.SYSTEM_NAME)
    left join (select * from [10.2.3.39].AspireworkFlow.dbo.RepeaingTable) as c on (c.Keyword='URL' and c.ProcessID=a.PID)
    left join (select * from [10.2.3.39].AspireworkFlow.dbo.RepeaingTable) as d on (d.Keyword='FKXX_New' and d.ProcessID=a.PID or d.Keyword='FKXX' and d.ProcessID=a.PID)
    left join (select * from EX_BillExtension) as p on a.BILLNO=p.BILL_NO
    
    where applyempid='zhongxun' and a.EBILLNO is not null
    and status>5 and status not in(200,100,7000)
    and a.APPLYDATE>'2011-01-01'
    and a.HT=''
    and cast(d.XMLData as XML).value('(/List/item/SKRXM/text())[1]','NVARCHAR(300)') is null) 
    union
    (select e.EBILLNO,
    e.EMPNAME,
    e.APPLYDATE,
    f.HS_NAME,
    replace(replace(e.SUMMARY,char(10), ''),char(13),'') as SUMMARY,
    cast(g.XmlData as XML).value('(/List/item/No/text())[1]','NVARCHAR(300)') as No,
    cast(g.XmlData as XML).value('(/List/item/zje/text())[1]','NVARCHAR(300)') as zje,
    cast(g.XmlData as XML).value('(/List/item/yfje/text())[1]','NVARCHAR(300)') as yfje,
    cast(g.XMLData as XML).value('(/List/item/bcje/text())[1]','NVARCHAR(300)') as bcje,
    cast(g.XMLData as XML).value('(/List/item/URL/text())[1]','NVARCHAR(300)') as URL,
    cast(g.XMLData as XML).value('(/List/item/Remark/text())[1]','NVARCHAR(300)') as BZ,
    cast(h.XMLData as XML).value('(/List/item/SKRXM/text())[1]','NVARCHAR(300)') as SKRXM,
    ('http://……?sid=3&mid=7281&PID='+e.PID) as bxdljdz
    from Ex_Bill as e 
    left join Ex_System_Cfg as f on(e.BILLSYSTEMID=f.HS_ID and e.DATASYSTEMID=f.SYSTEM_NAME)
    left join (select * from [10.2.3.39].AspireworkFlow.dbo.RepeaingTable) as g on (g.Keyword='URL' and g.ProcessID=e.PID)
    left join (select * from [10.2.3.39].AspireworkFlow.dbo.RepeaingTable) as h on (h.Keyword='FKXX_New' and h.ProcessID=e.PID or h.Keyword='FKXX' and h.ProcessID=e.PID)
    
    where applyempid='zhongxun' and e.EBILLNO is not null
    and status>5 and status not in(200,100,7000)
    and e.APPLYDATE>'2011-01-01'
    and e.HT=''
    and cast(h.XMLData as XML).value('(/List/item/SKRXM/text())[1]','NVARCHAR(300)') is not null)

    领导让导出一些数据,在写SQL的时候,难点不在于SQL本身,而在于逻辑上,当写出这个SQL以后,发现逻辑也没有那么难了。

    就是采用Union把两组都查询出来的表放到一个里面

  • 相关阅读:
    Fix Installing .NET Framework 3.5 failed Error Code 0x800F0954 on Windows 10
    RHEL8安装五笔输入法
    Enable EPEL and Local Repository on RHEL8
    Why is Yum Replaced by DNF?
    检查Linux服务器是否被攻击的常用命令及方法
    IDEA 主题
    IDEA 如何显示一个类中所有的方法
    Appium 安装以及安装过程中遇到的问题
    Maven 如何发布 jar 包到 Nexus 私库
    java泛型的基本使用
  • 原文地址:https://www.cnblogs.com/ZXdeveloper/p/3842739.html
Copyright © 2011-2022 走看看