SQL Server - Error en la creación de una tabla

 
Vista:
sin imagen de perfil
Val: 170
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Error en la creación de una tabla

Publicado por Miguel (84 intervenciones) el 02/02/2023 18:55:07
Este es mi código.

Cmd.CommandText = "IF EXISTS (Select * From sysobjects Where type='U' and name='Etiquetas') BEGIN DROP TABLE Etiquetas END
CREATE TABLE dbo.Etiquetas
(IdEtiqueta Int IDENTITY(1,1),
Nombre varchar(40) not null,
Municipio varchar(40) not null,
Cp char(5) not null,
Provincia varchar(22) not null,
Calle varchar(40) not null)

INSERT INTO Etiquetas(Nombre,Municipio,Cp,Provincia,Calle)" +
"SELECT T.Nombre,M.Municipio,R.Cp,P.Provincia,C.Calle FROM Clientes T" +
"INNER JOIN Municipios M ON T.IdCp = M.IdCp" +
"INNER JOIN Municipios R ON T.IdCp = R.IdCp" +
"INNER JOIN Provincias P ON T.IdProv = P.IdProv" +
"INNER JOIN Calles C ON T.IdCalle = C.IdCalle"

El error en hoja adjunta.

Por favor haber si alguna persona me puede aclarar dicho error.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error en la creación de una tabla

Publicado por Yamil Bracho (3 intervenciones) el 02/02/2023 19:09:33
Segun el mensaje de error , lo que tienes que hacer es dejar un blanco de separacion en la sentencia SELECT.
Es decir
1
2
3
4
5
6
INSERT INTO Etiquetas(Nombre,Municipio,Cp,Provincia,Calle) " +
"SELECT T.Nombre,M.Municipio,R.Cp,P.Provincia,C.Calle FROM Clientes T " +
"INNER JOIN Municipios M ON T.IdCp = M.IdCp " +
"INNER JOIN Municipios R ON T.IdCp = R.IdCp " +
"INNER JOIN Provincias P ON T.IdProv = P.IdProv " +
"INNER JOIN Calles C ON T.IdCalle = C.IdCalle"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 170
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Error en la creación de una tabla

Publicado por Miguel (84 intervenciones) el 02/02/2023 22:29:22
Perdone Yamil, no quisiera abusar de su tiempo pero la línea de la provincia en la tabla no es necesario cargar el índice de la misma ya que al cargar el Cp (código postal de 5 dígitos) los dos primeros de la izquierda son el código de provincia, por lo que aplicaría este otra línea de código.

"INNER JOIN Provincias P ON Microsoft.VisualBasic.Left(T.IdCp,2) = P.IdProv " +

Pero en este caso el LEFT lo rechaza. He buscado haber si es que en el SQL tiene alguna otra forma de utilizarse pero no encuentro nada diferente y al hacer la compilación el código no da error. El error se muestra en la ejecución rechazando el LEFT.
Puede hacerme el favor de indicarme mi error.

Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar