使用此查询:
SELECT id FROM org.employees WHERE {some_condition}
对于上述查询中的每一行,我需要调用:
SELECT * FROM org.work_schedule(@employeeId, @fromDate, @toDate)
其中,org.work_schedule是表值函数,它处理员工的所有可用工作计划和约束,并返回两个日期时间(开始、结束)列,表示给定员工对给定日期范围的可用性。
我正在考虑在第一个查询上使用一个游标,并输入一个将返回的临时表。这是唯一的解决办法吗?
该项目在C#中,我也可以直接在C#中完成这一任务,但我怀疑完全用
SELECT *
FROM Spine S
CROSS
APPLY
(
SELECT *
FROM PersonTemporalTable
FOR SYSTEM_TIME AS OF S.DateTimeValueOfInterest
) CA
如果我忽略了它的“为什么”,坚持“什么”和“如何”,那就简单多了。我需要能够在特定的时间点查询一个时态表--如果上面的语法合法的话,它会做我想要做的事情。在这种情况下,表Spine包含感兴趣的日期时间值的列表。
这仅仅是一个不使用
我正在尝试连接两个表。
表1 (resource_log)是一个数据馈送,由不同的列、日期、时间、联系号码等组成。每次发生事务时,都会在表中插入新行。
表2(目录)是提供姓名、团队、联系号码等的目录。
表2中的内容经常更新,保留了以前的记录,并且最近的记录具有最近记录日期(rdate)。
我想要做的是显示两次之间的记录,并连接表2中的最新目录信息。
我写了这段代码,它拉回了两个表,但没有结果。
我将使用一个具体的,但假设的例子。
SELECT top 20 *
FROM resource_log r
INNER JOIN directory
ON
我想很简单的问题。
我有一个数据集,相当大,有一些自由文本名称数据.我要把这个和我们的员工表联系起来。
人们进入这个领域的方式多种多样(约翰史密斯、J.Smith、约翰史密斯(JSMITH)、公司: John Smith/Client: John Smith等)。
其中大多数都很好,但我遇到的问题是输入了多个名称的问题。例如,"John Smith / Joe Bloggs“。
我有一个预先创建的表值函数,它接受一个字符串和一个分隔符,然后返回一个带有拆分结果的表。
dbo.Split('John Smith / Joe Bloggs')
id val
1
Server 2017。
表Captures包含带有CaptureId (主键)和SourceId的记录,它们标识记录来自哪个源(许多记录可以具有相同的SourceId)。
表Source包含关于每个源的所有描述性信息。两个表之间的公共字段是SourceId。
我需要几组来自Captures的前十名记录--这些组是通过过滤Source表来确定的。
这是对Source表部分的查询:
SELECT
SourceId,
Type,
State
FROM Source
WHERE Type = 1
AND State = 'TX'
对于从上面的查询返回的每个Captures,我需要前1
我一直在寻找一种方法来做我想做的事情,但我还没有找到解决办法。我把日期存储在这样的桌子上:
Dates Code Sum
1-15-2015 AAA (to be calculated)
2-2-2016 BBB (to be calculated)
11-23-2015 CCC (to be calculated)
表中每个记录的sum是根据Date列中的日期计算的。我希望使用Date列中的日期作为参数排序,以便对表中的每条记录进行计算。我认为游标是最好的方法,但我对SQL并不熟悉,也不知道如何实现这样的功能。举个例子,你完全可以算出总和。不管怎
您好,我有一个sql函数,它返回一个表(一组记录)
SELECT * FROM myFunction('213123');
现在我有一个查询,它给出了我所有的id
SELECT "runnerId" FROM log GROUP BY "runnerId"
如何创建一个查询,为每个"runnerId“调用函数并合并所有结果
我有一个tableA,其中一个字符串列(rawData),还有一个表值函数(functionA),该函数将接受'rawData‘作为输入参数,并返回五个新字段。这个函数将做什么?-这将执行一些字符串操作,并将一些数据分割成五个值。
我的动机是选择字符串列(rawData),并传递表值函数(functionA),并为tableA中的每一行获取这五个新字段。
以下是样本:
Select
(Select * from function (rawData))
from tableA
我的期望是,我应该从functionA和rawData获得每个行的值,但我得到的值低于错误:
如果没有
在两个表之间创建笛卡儿积时,CROSS APPLY和OUTER APPLY之间有什么区别吗?
这似乎是一个愚蠢的问题,因为没有表之间的关系,右手表不能不满足关系,但我尊重我不知道的东西。
当我使用一个简单的测试设置来查看执行计划时,它们是相同的,两个索引寻求输入嵌套循环(内连接),但是简单的测试设置可能具有欺骗性。
这里是我的意思()的一个例子。设置:
CREATE TABLE dbo.First (
Id INT IDENTITY(1, 1) PRIMARY KEY,
Name NVARCHAR(100)
);
GO
DECLARE @n INT = 1;
W
是否有一种方法可以查询两个表,其中需要从具有“Exist”条件的table2中计算列?
这是我的主要问题:
SELECT a.col1, a.col2, a.col3
from table1 a
WHERE EXISTS
(select * from table2 b
where b.colID = a.colID
and b.col like 'Sample%')
我需要把这一点包括在内:
select DATEDIFF(day,start_date,GETDATE()) as duration, name
from table2
where code like '
使用我的函数进行的第一个查询
select *
from [dbo].fnSplitString('1|16|170','|')
数据拆分的第二次查询
select m.CategoryTree as s
from tblBuyOnlineMaster m
我想加入这两个查询,以获得第二个查询中的所有类别,就像表列一样,就像第一个结果一样。
帮助是非常有用的。
我有8张唱片
Name Value Product
--------------------------
Abraham 4 A
Lincoln 6 B
Abraham 4 C
Lincoln 2 D
Lincoln 3 E
Lincoln 2 F
Abraham 1 G
Abraham 9 H
亚伯拉罕有4张唱片,林肯也有。
我需要来自SQL的前2位来自亚伯拉罕
设想以下情况:
我有一个表Customers,每个客户可以有0或更多的PhoneNumbers。电话号码是在Customers‘CusId和它自己的ListIx (so (CusId, ListIx))上索引的。
我想选择一个客户名单连同他们的第一个(min(ListIx))电话号码。
问:做这件事最优雅的方法是什么?
例如:
select
c.FirstName, c.LastName, pn.PhoneNo
from Customers c
left join PhoneNumbers pn
on c.CusId = pn.CusId
and
我正在使用movie 2012来检查用户是否在过去的一段时间内为每个事务/行选择了一种特定类型的电影。
我想解决这个问题,把过去的体裁合并成一个新的专栏,在一个特定的时期,例如过去的12个月,或6至12个月。我不关心新列中出现的重复类型。
然后,我可以运行逻辑来检查某个特定类型是在SQL中还是由外部程序排序的。下面是两个订购视频的客户的预期输出示例。
下面是我用来生成初始表的SQL。
DROP TABLE IF EXISTS tb1;
CREATE TABLE tbl
(id int IDENTITY(1,1) PRIMARY KEY,
PersonName VA
我有两个具有一对多关系的表(例如,clients表和orders表;每个客户可能下了多个订单)。对于每个客户,我只需要检索一个订单,这是由特定标准定义的(例如,最近的订单)。
我需要在PostgreSQL 9.1和Microsoft SQL Server 2014中执行此操作(这两个系统中的数据不同,但问题完全相同)。这些表大约有250万条记录(客户端)和1000万条记录(订单)。
我在考虑在SQL server中使用PostgreSQL,在PostgreSQL中使用等级高于分区或横向连接,但对语法不太确定。
一个简单的max(order_date) ... group by clientid
我有一个TVF,它需要两个参数--一个在我的通用select语句中固定的国家代码。
DECLARE @CountryCode as nvarchar(2)
SET @CountryCode = 'GB'
在我的statement结果中将会有很多的日期
我的TVF需要在运行时获取农村代码和日期--如果可能的话!
CREATE function [dbo].[V3_Pricelist_Country_lvl] (@Country as nvarchar(2), @Date as date)
returns table
as
return
SELECT @Country as Cou
这些脚本给了我相同的结果
SELECT * FROM
(select x = null) x
OUTER APPLY
(select x = 1) y
SELECT * FROM
(select x = null) x
CROSS APPLY
(select x = 1) y
CROSS APPLY和OUTER APPLY是一样的吗?
有没有不返回相同结果的情况的例子?
我有以下情况:
表data_table:
ID data
1 a;b;c
2 d;e;f
3 j
function datasplit:
dbo.[datasplit]('a;b;c', ';')
这将产生结果表:
items
a
b
c
我想要生成一个由分裂的数据组成的输出。
ID splitted_data
1 a
1 b
1 c
2 d
2 e
2 f
3 j
我试图使用的SQL查询:
select ID, (select * from dbo.[datasplit](data, ';'))