En SQL Server, esto inserta 100 registros, de la tabla Clientes en tmpFerdeen: -
SELECT top(100)*
INTO tmpFerdeen
FROM Customers
¿Es posible hacer un SELECT INTO a través de UNION ALL SELECT: -
SELECT top(100)*
FROM Customers
UNION All
SELECT top(100)*
FROM CustomerEurope
UNION All
SELECT top(100)*
FROM CustomerAsia
UNION All
SELECT top(100)*
FROM CustomerAmericas
No estoy muy seguro de dónde agregar la cláusula INTO.
sql
sql-server
Ferdeen
fuente
fuente
Respuestas:
Esto funciona en SQL Server:
fuente
No necesita una tabla derivada para esto.
Solo pon el
INTO
después del primeroSELECT
fuente
Este "Blablabal" es necesario
fuente
Para consultas de MS Access, esto funcionó:
Esto NO funcionó en MS Access
fuente
Lo haría así:
fuente
El desafío que veo con la solución:
es que esto crea un conjunto de datos en ventana que residirá en la RAM y en conjuntos de datos más grandes, esta solución creará graves problemas de rendimiento, ya que primero debe crear la partición y luego usará la partición para escribir en la tabla temporal.
Una mejor solución sería la siguiente:
para seleccionar insertar en la tabla temporal y luego agregar filas adicionales. Sin embargo, el inconveniente aquí es si hay filas duplicadas en los datos.
La mejor solución sería la siguiente:
Este método debería funcionar para todos los propósitos que requieren filas distintas. Sin embargo, si desea que las filas duplicadas simplemente cambien UNION por UNION ALL
¡La mejor de las suertes!
fuente
Tal vez intente esto?
fuente
Pruebe algo como esto: cree la tabla de objetos final, tmpFerdeen con la estructura de la unión.
Luego
fuente