Sentencia insert into

Tengo dos tablas una (libros) con los campos: Titulo, Autor y Nacionalidad y otra (nacionalidades) con la Nacionalidad y ID (autonumérico)
He creado una nueva Tabla "autores", y lo que quiero es insertar en ella el autor(de la tabla libros) y el ID de la nacionalidad (de la tabla nacionalidades). He probado con la sentencia que tengo abajo pero no consigo unir las dos sentencias select para que funcione, las separo con "," pero me da un error de sintaxis, ¿qué estoy haciendo mal?
Saludos y gracias
José Mari
INSERT INTO autores (autor, id_nac) SELECT DISTINCT L.autor FROM libros WHERE autor <> 'Autor', SELECT N.id FROM nacionalidades WHERE L.nacionalidad = N.nacionalidad AND L.nacionalidad OR N.nacionalidad <> 'Nacionalidad'
FROM libros L, nacionalidades N;
Respuesta
1
INSERT INTO autores (autor, id_nac)
SELECT DISTINCT L.autor, N.ID FROM libros as L, Nacionalidad as N
WHERE L.Nacionalidad=N.Nacionalidad;
Creo que con esto lo tienes resulto.

1 respuesta más de otro experto

Respuesta
1
Prueba:
INSERT INTO autores (autor, id_nac) SELECT DISTINCT L.autor, N.id FROM libros L
INNER JOIN nacionalidades N ON L.nacionalidad = N.nacionalidad AND N.nacionalidad <>'Nacionalidad' WHERE autor <> 'Autor';
Eso sí, sólo te meterá el autor si tiene especificada una nacionalidad.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas