cross-apply

    0热度

    1回答

    我创建了一个虚拟方案,它反映了我必须编写的许多查询来检查我们导入的某些数据是否正确。 的例子是,当你有3个表 商店 客户 CustomerOrder 一个Customer可以属于很多商店,但只能1 OrderOnsale可以买X客户x商店。 看起来似乎没有正确。下面是表格和noddy数据+我的尝试。 IF object_id(N'Store', 'U') IS NOT NULL DROP

    3热度

    1回答

    我有一个看起来像这样的XML数据: <game> <teams> <home id="363" color="000099">Brazil</home> <away id="375" color="c5b358">Germany</away> </teams> <gameInfo> <homeScore>1</homeScore>

    1热度

    1回答

    我有一个表 name score samar 12 pradeep 30 garry 90 我想从上面的表中的前2分。这可以通过row_number()函数完成。但它也应该适用于交叉应用。但我下面提到的代码是给所有的行而不是前2的分数。 select abc.score from #b as a cross apply ( select top 2 score

    0热度

    1回答

    我正在应用XML跨应用通过使用存储过程从具有多个节点的XML项目文件提取数据。 存储过程如下 INSERT INTO UCDetails SELECT Usecase.value('@UserID','VARCHAR(100)') AS UCId, --ATTRIBUTE Usecase.value('@Name','VARCHAR(100)') AS UCName, --ATTRIBUTE

    0热度

    1回答

    我需要解决的问题是将数据从具有许多动态字段的表传输到其他结构化键值表中。 第一个表来自另一个系统的数据导出,并具有以下结构(它可以具有任何列名称和数据): [UserID],[FirstName],[LastName],[Email],[您是如何日期],[你想收到每周通讯],[确认你是18+] ... 第二张表是我要放的数据,它有以下结构: [UserID uniqueidentifier],[Q

    3热度

    1回答

    我发现UNPIVOT能够自动排除具有NULL值的字段。但是,CROSS APPLY-VALUES方法无法做到这一点。有谁知道如何自动排除CROSS APPLY-VALUES中的NULL值字段?比方说,如果它们包含NULL值,排除Field3和Field4。 SELECT E.FieldA, E.FieldB, E.FieldC, DBParam.Displa

    4热度

    2回答

    我是CROSS APPLY的新手,试图理解它的工作机制。特别是,在做一些测试时,我发现在CROSS APPLY语句中包含一个GROUP BY子句会大大提高聚合的性能,但这似乎有点违反直觉。我想让我感到困惑的是操作的确切顺序。 这里是我的测试: declare @cust table (CUSTID int, NAME varchar(30), MaxOrder decimal, TotalAmou

    1热度

    2回答

    我有一个表 CREATE TABLE [StudentsByKindergarten] ( [FK_KindergartenId] [int] IDENTITY(1,1) NOT NULL, [StudentList] [nvarchar] ) 在条目 (1, "John, Alex, Sarah") (2, "") (3, "Jonny") (4, "John,

    1热度

    1回答

    想写一个查询,这将表现得像个foreach 查询: select label ,NTILE(10) over(order by label ASC) Quartile INTO #labelTempTab from dbo.ReportFieldsLookup 的数据将是这样的: label Quartile ----- -------- la1 1 la2 1 la3 1

    1热度

    1回答

    我正在尝试创建一个SQL以基于日期提取数据,现在有了使用where子句的条件以获得我真正需要的内容 我有下面的表和TVF: /* dbo.weeks -> column(weeknum), column(date) **date is all Fridays** */ weeknum date 1 2001-09-21 2 2001-09-28 3 2001-