-
25-09-2019 - |
题
我有一个表,从类似下面的特定网站的评论的列表号:
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
的问题是,如何没有我更新/插入表/值?
欢呼声,
利
解决方案
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))
其他提示
左从网站加入到你的commenttable应该做我猜
工作至少如果我做了unterstand你的意图
编辑:Sry基因还以为你想选择所有站点,这些意见
不隶属于 StackOverflow