小编dec*_*led的帖子

移除xmlns属性

我试图xmlns="http://webdev2003.test.com"使用xsl/xslt从以下xml中删除该属性,这是SSIS中XML任务的要求.考虑到大文件大小,什么是正确的方法.〜40MB

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfAccount xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">    
<Account>  
    <FirstName xmlns="http://webdev2003.test.com/">John</FirstName>  
    <LastName xmlns="http://webdev2003.test.com/">Smith</LastName>  
</Account>  
</ArrayOfAccount>
Run Code Online (Sandbox Code Playgroud)

xml xslt xml-namespaces

5
推荐指数
1
解决办法
1万
查看次数

为什么此查询会导致Oracle中的Merge Cartesian Join

我有一个最近需要修改的查询.

这是原件

SELECT RTRIM (position) AS "POSITION",
   .  // Other fields
   .
   .
   FROM schema.table x WHERE hours > 0 
    AND pay = 'RGW'
    AND NOT EXISTS( SELECT position FROM schema.table2 y where  y.position = x.position )
Run Code Online (Sandbox Code Playgroud)

这是新版本

SELECT RTRIM (position) AS "POSITION",
   .  // Other fields
   .
   .
   FROM schema.table x WHERE hours > 0 
    AND pay = 'RGW'
    AND NOT EXISTS( SELECT position FROM  schema.table2 y where y.date = get_fiscal_year_start_date (SYSDATE) AND y.position = x.position )
Run Code Online (Sandbox Code Playgroud)

UDF get_fiscal_year_start_date() …

oracle

4
推荐指数
1
解决办法
954
查看次数

动态交叉应用值

我有一些看起来像这样的代码:

SELECT  colname, SUM(value) AS items_sum, COUNT(value) AS items_count
FROM MyTable
CROSS APPLY (
    VALUES ('Item1',Item1),('Item2',Item2)
    ) x(colname, value)
WHERE Date BETWEEN @sdate AND @edate
    AND value IS NOT NULL
GROUP BY colname
Run Code Online (Sandbox Code Playgroud)

我被要求将查询更改为不再对 Item1、Item2 进行硬编码,而是接受传入的任何 Item#。我尝试了一些解决方案来通过 select 语句获取 Item#,但似乎聚合函数SUM() & COUNT() 抱怨是因为我尝试过的解决方案返回列名的 varchar,而不是列数据本身。有没有办法在不使用字符串连接的情况下传递列 Item#?

谢谢!

sql t-sql sql-server

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

oracle ×1

sql ×1

sql-server ×1

t-sql ×1

xml ×1

xml-namespaces ×1

xslt ×1