我有一个表格,列出了特定网站的评论数量,如下所示:
Date Site Comments Total
---------------------------------------------------------------
2010-04-01 00:00:00.000 1 5 5
2010-04-01 00:00:00.000 2 8 13
2010-04-01 00:00:00.000 4 2 7
2010-04-01 00:00:00.000 7 13 13
2010-04-01 00:00:00.000 9 1 2
我有另一个列出所有站点的表,例如从1到10
Site
-----
1
2
...
9
10
使用以下代码,我可以找出哪些网站缺少上个月的条目:
SELECT s.site
from tbl_Sites s
EXCEPT
SELECT c.site
from tbl_Comments c
WHERE c.[Date] = DATEADD(mm, DATEDIFF(mm, 0, GetDate()) -1,0)
产:
site
-----
3
5
6
8
10
我希望能够将我的查询中列出的缺失网站插入到注释表中,并带有一些默认值,即'0'
Date Site Comments Total
---------------------------------------------------------------
2010-04-01 00:00:00.000 3 0 0
2010-04-01 00:00:00.000 5 0 0
2010-04-01 00:00:00.000 6 0 0
2010-04-01 00:00:00.000 8 0 0
2010-04-01 00:00:00.000 10 0 0
问题是,我是如何更新/插入表/值的?
欢呼声,
利
答案 0 :(得分:2)
INSERT INTO CommentTable (Date, Site, Comments, Total)
SELECT '2010-04-01 00:00:00.000', Site, 0, 0
FROM SiteTable
WHERE Site NOT IN
(SELECT DISTINCT Site FROM CommmentTable
WHERE [Date] = DATEADD(mm, DATEDIFF(mm, 0, GetDate()) -1,0))
答案 1 :(得分:0)
从网站到评论表的左连接应该做我猜的工作
至少如果我确实忘了你的意图
编辑:Sry认为你想要选择所有带有这些评论的网站