2011-02-08 18 views
6

No soy el mejor en el lenguaje SQL. Tengo una tabla con aproximadamente 20,000 usuarios (filas) en ella. Tengo otra tabla a la que me gustaría agregar una fila para cada usuario, usando su nombre de usuario. ¿Es esto posible usar solo SQL?Cómo agregar una fila para todas las filas en otra tabla en SQL Server

Podía ir a la aplicación (escrita en C#) y usar linq para sacar a todos los usuarios, iterar sobre ellos y agregar una fila para cada usuario. Solo tengo curiosidad si hay una manera de hacerlo en SQL directamente.

TABLE Users 
Username (varchar) 
etc 
etc 

TABLE ChatChannels 
Username (varchar) 
ChannelName (varchar) 

Me gustaría añadir una fila en ChatChannels para cada usuario en usuarios, utilizando el nombre de usuario para rellenar la columna Nombre de usuario en ChatChannels.

Respuesta

8
insert into chatchannels (Username, ChannelName) 
select username, 'NewChatChannel' 
from users 

Esto inserta una fila por username en users, con el ChannelName puesto a 'NewChatChannel'.

Cuestiones relacionadas