如何将以下查询结果与日期表交叉连接

时间:2015-08-25 22:45:58

标签: sql sql-server sql-server-2008

我正在寻找一个给我每日上场时间的查询。开始(first_date)和结束日期(last_update)如表所示。以下查询给出了给定日期的上场时间总和。如何扩展它以从第一天到最后一天获取表格并在其中绘制查询数据并在没有游戏的日期显示0。

SELECT startTime, SUM(duration) as sum
FROM myTable
WHERE startTime = endTime
GROUP BY startTime

enter image description here

2 个答案:

答案 0 :(得分:2)

要显示无人游戏的日期,您需要创建一个包含var page = AdminDirectory.Orgunits.list('my_costumer',{ orgUnithPath: '/Kiosks', type: 'all'}); var units = page.organizationUnits; if (units) { for (var i = 0; i < units.length; i++) { var unit = units[i]; Logger.log(unit); } } else { Logger.log('No units found.'); } 字段days的表date,以便您可以执行day。 (100年只有36500行)。

使用select Generate days from date range

MSQL

中的使用存储过程

我会假设一个游戏在午夜开始通过新记录。所以我可以简化我的代码并从left join字段

中删除时间
datetime

答案 1 :(得分:0)

如果我理解正确,你可以试试:

SELECT SUM(duration) AS duration, date
FROM myTable
WHERE date <= 20140430 
    AND date => 20140401
GROUP BY date

这将获得4月1日到4月30日之间每个日期的总时间 至于显示0表中没有的日期,我不知道。

此外,您发布的表格未显示duration列,但您发布的查询确实存在,因此我继续使用它。