Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
Insertar tabla de otra tabla con condiciones

Buenos dias, tengo duda no se como funciona ejemplo te dire


Tabla 1: ID (esta vacia)



Tabla 2: CODIGO, NOMBRE (archivo DBF que ya tiene contenido)



Tabla 3: ID, CODIGO, NOMBRE (es el servidor que ya tiene contenido)


Quiero que la tabla 2 insertar a la tabla 1 solo ID para que coinciden con la tabla 3 el ID.



En delphi funciona con INNER JOIN no?
Responder Con Cita
  #2  
Antiguo 18-03-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si no te entendí mal, creo que la instrucción SQL que buscas es:
Código SQL [-]
INSERT INTO TABLA1 (ID, CODIGO, NOMBRE)
SELECT T2.ID, T2.CODIGO, T2.NOMBRE
FROM TABLA2 T2
INNER JOIN TABLA3 T3 ON T2.ID = T3.ID

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 18-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
Perdon digo sobre Delphi eso como hace. Y no SQL.

En inner join funciona con Delphi?

De todas formas estoy programando a ver si funciona. Quizas la setencia sql funciona dentro de Delphi.

Muchas gracias

Última edición por igamerpc fecha: 18-03-2020 a las 11:44:01. Razón: Sobre SQL a delphi
Responder Con Cita
  #4  
Antiguo 18-03-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Te pasan la sentencia porque desde Delphi vas a poder ejecutar esa sentencia usando los componentes de acceso a datos.
Lo que necesitas es conectar tu aplicación (Componente TDataBase por ej.) a esos archivos DBF.

Este video te muestra como conectar un programa de Delphi a una base de datos y como trabajar con esa DB.

https://www.youtube.com/watch?v=dwb0wv6IJqA

Y este te muestra como conectar a dBase (Archivos DBF), usando Firedac.

https://www.youtube.com/watch?v=cHjbDtK-GK0
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #5  
Antiguo 19-03-2020
igamerpc igamerpc is offline
Miembro
 
Registrado: feb 2020
Posts: 53
Poder: 5
igamerpc Va por buen camino
Si ese lo tengo yo todo conectado y todo. Lo refiero que pasar tabla 2 a tabla 1 todos los documentos pero distintas.

Es dificil creo.. la tabla 3 insertar numero id a la tabla 1 relacionado de la tabla 2. Es poco lio.
Lo estoy intentando. Puede ser debe ser crear 3 tablas para poder pasar.
Responder Con Cita
  #6  
Antiguo 20-03-2020
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 20
kuan-yiu Va camino a la fama
Si he entendido bien: en Tabla1 quieres guardar una relación entre Tabla2 y Tabla3.
Según como sea esa relación hay distintos modos de hacerlo pero ten en cuenta que a través del componente TQuery (o similar) puedes ejecutar código SQL desde Delphi, así que si tienes claro como hacerlo en SQL pasarlo a Delphi es inmediato.
Montas el insert que necesites y en cada iteración le pasas los parámetros. Algo así:
Código Delphi [-]
   qInsertar:= TQuery.create(Application);
   with qInsertar do
   begin
      try
         close;
         SQL.Clear;
         DatabaseName := f_ficheros.sDataBaseName;
         SQL.Add('Insert into '+tabla1+' (IdUno, UdDos)');
         SQL.Add('Values (:idUno,:idDos)');
         Prepare;
         for (tuCondicionParaInsertar) do
         begin
            Parambyname('idUno').AsInteger  := datoDeTabla2;
            Parambyname('idDos').AsInteger  := datoDeTabla3;
            ExecSQL;
            //Siguiente registro de las tablas, o lo que sea que tengas que hacer para insertar
        end;
      finally
         Free;
      end;
   end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Insertar filas de una tabla a otra en distinta BD Gregorio Cíber Firebird e Interbase 2 23-12-2016 22:19:26
actualizar tabla al insertar en otra tabla hybrid Conexión con bases de datos 14 02-12-2009 15:09:13
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
insertar datos en una tabla desde otra Giniromero SQL 5 17-06-2004 19:37:16
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 05:14:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi