Pregunta

Tengo una tabla que enumera varios comentarios de un sitio en particular como la siguiente:

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

Tengo otra tabla que enumera todos los sitios, por ejemplo, de 1 a 10

Site
-----
1
2
...
9
10

Utilizando el código siguiente que puedo averiguar qué sitios faltan las entradas del mes anterior:

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)

La producción de:

site
-----
3
5
6
8
10

Me gustaría ser capaz de insertar los sitios que faltan que se enumeran de mi consulta en la tabla de comentarios con algunos valores por defecto, es decir 'de 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

La pregunta es, ¿cómo he actualizar / insertar la tabla / valores?

aplausos,

Lee

¿Fue útil?

Solución

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))

Otros consejos

Una combinación izquierda de un sitio a su commenttable debe hacer el trabajo que supongo

Al menos si lo hiciera Unterstand su intención

EDIT: Sry pensó ¿Quieres seleccionar todos los sitios con esos comentarios

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top