SQL - Insert into + Inner join

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

Insert into + Inner join

Publicado por Juan Alvarez (7 intervenciones) el 11/03/2019 22:48:56
Buenas tardes.

Estoy tratando de agregar una fila a mi BD, pero antes debo conocer un dato que tengo en otra tabla. Me explico.
En mi base de datos A tengo que ingresar el campo IdCliente, el cual no tengo, pero tengo el Nombre. Así que tiene que buscar en mi tabla B-Clientes que IdCliente corresponde a este cliente, para poder ingresarlo a mi tabla A.

Espero haber podido explicarme y que puedan ayudarme
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
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Insert into + Inner join

Publicado por Vega (73 intervenciones) el 11/03/2019 23:24:25
asumiendo que to motor es SQL Server e ignorando cualquier requisito o dependencia que pueda afectar el rendimiento de la consulta que has dejado junto con tu pregunta, prueba lo siguiente en la linea 3:

where datediff(hour, a.change_date,getdate()) <= 1 --< tambien puedes usar between aquí
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
sin imagen de perfil
Val: 12
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Insert into + Inner join

Publicado por Juan Alvarez (7 intervenciones) el 12/03/2019 19:34:35
No entiendo muy bien lo que quieres decirme. Mi BD esta en Access y estan relacionados los campos. Pongo un ejemplo

Clientes:

IdCliente | Nombre
_________________
1 | Juan
2 | Pedro
3 | Jesús


AnticipoClientes:
IdCliente | Importe
_________________
1 | 1,200
1 | 500
2 | 1,300

Necesito insertar en AnticipoClientes el importe "300" con IdCliente = Juan
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
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Insert into + Inner join

Publicado por Vega (73 intervenciones) el 13/03/2019 15:01:28
creo que me equivoqué de post!
1
2
3
4
5
DECLARE @Importe MONEY = 300
INSERT INTO AnticipoClientes (IdCliente,  Importe)
SELECT	IdCliente, @Importe
FROM	Clientes
WHERE	Nombre =  'Juan'
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
sin imagen de perfil
Val: 12
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Insert into + Inner join

Publicado por Juan Alvarez (7 intervenciones) el 13/03/2019 19:25:17
me aparece un error. "instruccion SQL no válida. Se esperaba DELETE, INSERT, PROCEDURE, SELECT o UPDATE"
El campo "Importe" deberá ser parametrizado para que pueda modificarse en cada caso.
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
Imágen de perfil de Vega
Val: 187
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Insert into + Inner join

Publicado por Vega (73 intervenciones) el 14/03/2019 11:43:46
hola Juan,

Si estas usando Forms para manejar tus interacciones con la BD, normalmente tienes algún botón de control que te permite introducir los datos.

Digamos que tienes en un form un botón llamado "guardar" y dos campos, uno muestra es el nombre y otro el un campo de entrada a través del cual puedes introducir el importe. El botón guardar tiene asociado un comando VBA que controla la inserción como el siguiente.
1
2
3
4
5
6
sql = "INSERT INTO AnticipoClientes (IdCliente,  Importe)
SELECT	IdCliente, " & Me!Importe & "
FROM	Clientes
WHERE	Nombre =   '" & Me!Nombre & "';"
 
   DoCmd.RunSQL strSQL

el código VBA se encarga de generar y ejecutar la sentencia que se genera en el momento de pulsar el botón.

Hace mucho que no uso Access pero así lo hacía yo cuando lo usaba.

Espero que te pueda ayudar esta sugerencia.
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