Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2007
digongo digongo is offline
Registrado
 
Registrado: nov 2007
Posts: 3
Poder: 0
digongo Va por buen camino
Huecos en una tabla

Hola amigos!!

Tengo una tabla así:

- -
Id
- -
|1 |
|2 |
|5 |
|7 |

y quiero que me retorne una tabla con los huecos (ó numeros) que faltan. Debería devolver esto:

- -
Id
- -
|3 |
|4 |
|6 |

¿Cómo se haría esto con SQL?

Gracias!!!!
Responder Con Cita
  #2  
Antiguo 20-12-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
Que motor de base de datos estas utilizando?
Responder Con Cita
  #3  
Antiguo 20-12-2007
digongo digongo is offline
Registrado
 
Registrado: nov 2007
Posts: 3
Poder: 0
digongo Va por buen camino
Hola!!

Estoy usando Postgre
Responder Con Cita
  #4  
Antiguo 20-12-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Pues es sencillo, no uses una consulta como tal, mejor arma un cursor.

Suerte
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #5  
Antiguo 20-12-2007
digongo digongo is offline
Registrado
 
Registrado: nov 2007
Posts: 3
Poder: 0
digongo Va por buen camino
Yo lo que pensaba hacer es crear una nueva tabla con todos los valores. Esta tabla la armo tomando el máximo número de la tabla que tiene los huecos (Recordar que es una tabla de enteros). Luego hago una diferencia entre las dos tablas y me tendría que retornar los huecos, en este caso, los números que no se repiten en ambas tablas.

¿Se hace así? De todos modos no se como hacerlo con SQL
¿O hay otra manera?
Responder Con Cita
  #6  
Antiguo 20-12-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Si generas la tabla con todos los id, luego puedes hacer un LEFT JOIN WHERE id is null.

En Firebird sería algo así :
Código SQL [-]
SELECT * FROM TablaLlena T1 
LEFT JOIN Tabla1 T2
ON T1.Id = T2.Id
WHERE T2.Id is null

[code]
T2 T1
-------
1 1
2 2
null 3
null 4
5 5
null 6
7 7
[code]
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
Tabla con varios lookups a otras. Y otra tabla con un lookup a la primera. En SQL Wonni Conexión con bases de datos 5 26-06-2007 00:15:49
Recorrer Tabla, contar registro repetidos y escribir totales en otra Tabla Lucas_diaz1810 Conexión con bases de datos 1 25-12-2006 13:04:34
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
Borrar registro en tabla maestra y todos los de la tabla detalles correspondientes jealousy Conexión con bases de datos 7 14-10-2003 12:46:23
Tabla con huecos NickName Firebird e Interbase 5 23-09-2003 19:42:09


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


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