【发布时间】:2022-01-12 19:11:03
【问题描述】:
我的选择需要一些帮助。
SELECT
bpasession.sessionnumber,
bpasession.sessionid,
bparesource.name,
bpaprocess.name,
bpastatus.description,
bpasession.startdatetime,
bpasession.enddatetime,
REPLACE(CONVERT(varchar(5),
DATEDIFF(ss, bpasession.startdatetime, bpasession.enddatetime)/ 3600) + ':' +
STR(CONVERT(varchar(5), DATEDIFF(ss, bpasession.startdatetime, bpasession.enddatetime) % 3600 / 60), 2) + ':' +
STR(CONVERT(varchar(5), DATEDIFF(ss, bpasession.startdatetime, bpasession.enddatetime) % 60), 2), ' ', '0'),
(SELECT COUNT(BPAWorkQueueItem.id)
FROM BPAWorkQueueItem
WHERE BPAWorkQueueItem.sessionid = '(bpasession.sessionid line variable) ex. D7917C6F-E9D4-48E4-B7AE-53EEE6D18616') AS x
FROM
BPAProcess,
BPAStatus,
BPASession,
BPAResource
WHERE
bpastatus.statusid = bpasession.statusid
AND bpasession.processid = bpaprocess.processid
AND bpasession.runningresourceid = BPAResource.resourceid
AND startdatetime >= '2021-12-01'
ORDER BY
bpasession.sessionnumber DESC
我想将一个动态变量添加到选择计数器中。我的查询的每一行都有一个不同的 sessionid,它将被添加到查询中以计算它在具有相同 sessionid 的工作队列项中的元素。
我该怎么做?
【问题讨论】:
-
MySQL 和 SQL Server 是完全不同的产品;您真正使用的是哪一个?也是 2021,ANSI-92 显式 JOIN 语法已经存在了 29 年,您采用它已经 很长时间了。 Bad Habits to Kick : Using old-style JOINs
-
开始正确描述您的问题 - 我阅读了最后一部分,我真的无法理解您要做什么。无需变量即可在附加列中获得硬编码输出。
-
样本数据和预期输出将大有帮助。旁白:复杂的日期计算看起来应该只是
CAST(... AS time)
标签: sql sql-server tsql select count