Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2010, 07:40
Klaurus
 
Fecha de Ingreso: marzo-2010
Mensajes: 5
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Consulta INSERT con tabla derivada

Hola, estoy estudiando SQL Server 2005 para rendir un examen y en el libro del que estudio tengo la siguiente inserción como ejemplo:

INSERT dbo.EmployeeSales
SELECT 'SELECT',e.EmployeeID,c.LastName,sp.SalesYTD
FROM HumanResources.Employee AS e
INNER JOIN Sales.SalesPerson AS sp
ON e.EmployeeID = sp.SalesPersonID
INNER JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
WHERE e.EmployeeID LIKE '2%'
ORDER BY e.EmployeeID, c.LastName

(Pueden probar la consulta si tienen AdventureWorks instalada)

Mi duda es que significa el 'SELECT' (el que esté entre comillas). Ejecuté Solo el select y me devuelve una tabla con los siguientes resultados, lo que me parece algo un poco ilógico:

EmployeeID LastName SalesYTD
------ ----------- -------------------------------------------------- ---------------------
SELECT 268 Jiang 677558,4653
SELECT 275 Blythe 4557045,0459
SELECT 276 Mitchell 5200475,2313
SELECT 277 Carson 3857163,6332
SELECT 278 Vargas 1764938,9859
SELECT 279 Reiter 2811012,7151
SELECT 280 Ansman-Wolfe 0,00
SELECT 281 Ito 3018725,4858
SELECT 282 Saraiva 3189356,2465
SELECT 283 Campbell 3587378,4257
SELECT 284 Alberts 636440,251
SELECT 285 Pak 5015682,3752
SELECT 286 Varkey Chudukatil 3827950,238
SELECT 287 Mensa-Annan 1931620,1835
SELECT 288 Abbas 219088,8836
SELECT 289 Valdez 2241204,0424
SELECT 290 Tsoflias 1758385,926

(17 filas afectadas)

El INSERT no funciona porque no existe la tabla dbo.EmployeeSales, pero suponiendo que existiera y fuera de 4 columnas, con los tipos de datos correctos, insertaría el resultado tal como está arriba? Tiene alguna función espacifica el primer campo?

Por último, me gustaría saber la diferencia entre hacer un INSERT tabla y un INSERT INTO tabla.

Saludos!