![]() |
| |||
| Estimados amigos, mi consulta es la siguiente, necesito con los datos de una tabla, generar otra tabla nueva con solo algunos registros de la primera. Hay alguna solucion sencilla en SQL o con el mismo Delphi para hacer esto?. Uso Delphi6 y tablas del tipo Paradox Desde ya Muchas gracias |
| | ||||
| ||||
| |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| No estoy seguro de si lo que te voy a indicar funciona con el SQL de Paradox, ya que yo lo he visto en SQL de Oracle: La sentencia SQL es la siguiente: CREATE newTable AS (SELECT fields FROM oldTable WHERE condition) Prueba, a ver si funciona. Y si no, puedes usar TQuery, aunque sea un poco mas complicadillo. Mira: procedure crearTablaAPartirDeOtra(SQLIn: String); var query1, query2: TQuery; i: integer; begin query1 := TQuery.Create(self); query2 := TQuery.Create(self); query1.databaseName := 'tuDatabase'; // Aqui puedes meter el path de tu BBDD query2.databaseName := 'tuDatabase'; // Creamos la nueva tabla query2.SQL := 'CREATE TABLE newTable(columnas)'; // Obtenemos los registros de la vieja tabla que entraran en la nueva query1.SQL := SQLIn; // SQLIn contiene la sentencia SQL con la que obtienes // los registros de la tabla inicial query1.Open; // Vamos metiendo los valores en la nueva tabla for i := 1 to query1.RecordCount do begin query2.SQL := 'INSERT INTO newTable VALUES (' + query1.FieldValues['field1']' + ... + ')'; query2.execSQL; query1.Next; end; query1.Close; query1.Destroy; query2.Destroy; end; Y ya esta... Vigila algunas cosas, como que para escribir una comilla dentro de un String hay que poner en realidad dos comillas: '' (que no es lo mismo que doble comilla, ojo "). Suerte, y si tienes algun problemilla con esto, avisa. |
| |||
| Haces la query en SQL que quieres que te genere el codigo y despues lo unico que debes hacer es Query.CreateTable; <-- O algun metodo por el estilo, lo utilize algo tiempo y si no recuerdo mal era algo por el estilo... "armadillo" <armadillo***ono.com> escribió en el mensaje news:kUhDc.44589$kn2.473267***news.ono.com... > Estimados amigos, mi consulta es la siguiente, necesito con los datos de una > tabla, generar otra tabla nueva con solo algunos registros de la primera. > > Hay alguna solucion sencilla en SQL o con el mismo Delphi para hacer esto?. > Uso Delphi6 y tablas del tipo Paradox > > Desde ya Muchas gracias > > |
| |
| |
| |||
| Haces la query en SQL que quieres que te genere el codigo y despues lo unico que debes hacer es Query.CreateTable; <-- O algun metodo por el estilo, lo utilize algo tiempo y si no recuerdo mal era algo por el estilo... "armadillo" <armadillo***ono.com> escribió en el mensaje news:kUhDc.44589$kn2.473267***news.ono.com... > Estimados amigos, mi consulta es la siguiente, necesito con los datos de una > tabla, generar otra tabla nueva con solo algunos registros de la primera. > > Hay alguna solucion sencilla en SQL o con el mismo Delphi para hacer esto?. > Uso Delphi6 y tablas del tipo Paradox > > Desde ya Muchas gracias > > |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Copiar datos de una Base de Datos a Otra | Francisco J Lopez | Newsgroup microsoft.public.es.vb | 12 | 06-08-2008 22:16:43 |
| Copiar disco duro scsi en uno ide w2000 | Fidel | Newsgroup microsoft.public.es.win2000 | 8 | 26-07-2007 10:54:00 |
| Copiar disco protegido | rvm | Newsgroup es.comp.os.linux.misc | 8 | 16-11-2006 16:41:19 |
| COMO COPIAR PELICULA A DISCO DURO | ivanrsp | Newsgroup es.rec.video.dvd | 0 | 02-11-2006 12:33:10 |
| Cambio de disco duro ¿como copiar la informacion' | Aro | Newsgroup microsoft.public.es.windows98 | 8 | 05-10-2006 21:42:23 |