Einfügen von Daten aus einer Tabelle
-
25-09-2019 - |
Frage
Ich habe eine Tabelle, dass die Listen Anzahl Kommentare von einer bestimmten Website wie folgt aus:
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
Ich habe eine andere Tabelle, dass listet alle Websites, zum Beispiel von 1 bis 10
Site
-----
1
2
...
9
10
Mit dem folgenden Code i herausfinden kann, welche Websites Einträge für den vorangegangenen Monat fehlen:
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)
Producing:
site
-----
3
5
6
8
10
Ich möchte in der Lage sein, die fehlenden Websites einzufügen, die aus meiner Anfrage in die Kommentar Tabelle mit einigen Standardwerten aufgeführt wird, das heißt ‚0-en
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
Die Frage ist, wie ich habe Update / Insert der Tabelle / Werte?
prost,
Lee
Lösung
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))
Andere Tipps
A LEFT JOIN von Standort zu Ihrem commenttable sollte die Arbeit machen ich denke
Mindestens wenn ich es täte unterstand Ihre Absicht
EDIT: Sry haben Sie alle Websites mit diesen Kommentaren wählen Wanna