对不起,任何不正确的方面,因为我在SQL不精通...表名称包含日期
我有一个查询,我需要每天运行,但我需要查询包括今天的日期表。通常,我跑:
SELECT m.displayName, a.source, count(a.agentGuid)
FROM ntEventLog20120725 AS a
LEFT OUTER JOIN machNameTab AS m ON a.agentGuid = m.agentGuid
WHERE a.eventTime > DATEADD(hour, -1, CURRENT_TIMESTAMP)
GROUP BY a.agentGuid, m.displayName, a.source
HAVING COUNT(a.agentGuid) > 1000
ORDER BY m.displayName
但表我想查询每一天都是不同的。今天的表是ntEventLog20120725
,明天将是ntEventLog20120726
。我知道怎么弄的日期在格式:
SELECT CONVERT(varchar, getDate(), 112)
我只是不知道如何将两者结合在一起,这样我可以安排这个日常运行。
你是否每天创建表?听起来像不好的设计问题。你认为重新设计? – triclosan 2012-07-25 12:25:04
这是sql-server?构建客户端时,这会更简单,如何/从您运行SQL的方式? – 2012-07-25 12:25:23
是的,每天都有一张桌子......不是我的设计,而是需要数千台机器向这些桌子报告数据。另外,它使得在一周后归档和删除表格变得更加容易。 – DamianS 2012-07-25 13:06:40