Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2011
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
mostrar registro solo una vez cuando hay valor nulo

Hola amigos, les traigo de nuevo una consulta sql con la que he estado "batallando" un buen rato, seguro que para algunos de ustedes tomara un par de minutos nada mas.

Código SQL [-]
select namn, id, ve.kod from ek_personal, ek_avtalsomrade ve where id is null or  avtals_omr_id = ve.id
y me da como resultado:

namn id kod
juan 1 uno
pedro null uno
pedro null dos
pedro null tres

el campo ve.kod tiene 3 valores (uno, dos tres) por lo cual, cuando una id es null, me muestra el registro 3 veces. Como puedo hacer para que solo lo muestre una ves, y el
campo kod se muestre vacio, es decir:

namn id kod
juan 1 uno
pedro null -

Gracias y saludos.
Responder Con Cita
  #2  
Antiguo 09-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
trata de usar Joins...

Coloca un ejemplo de como estan los datos.... para darte una mejor respuesta
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 09-11-2011
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
No se de que otra forma explicarlo. intento otra vez:
Código SQL [-]
select namn, ID_1, ek_avtalsomrade.kod from ek_personal, ek_avtalsomrade where ID_1 is null or ID_1 = ek_avtalsomrade.ID

los campos ID_1 e ID (ek_personal y ek_avtalsomrade) estan relacionados mediante llave foranea. En ek_avtalsomrade, a cada ID le corresponde un codigo (uno, dos, tres). Pero cuando ek_personal.ID_1 sea nulo quiero que me muestre el campo kod vacio y solo una vez. Vuelvo a poner la tablita, creo que asi se entiende muy facil:

namn - id - kod
juan - 1 - uno
pedro - null - uno
pedro - null - dos
pedro - null - tres

el campo ek_avtalsomrade.kod tiene 3 valores posibles(uno, dos, tres) por lo cual, cuando una ID_1 es null, me muestra el registro 3 veces. Como puedo hacer para que solo lo muestre una ves, y el
campo kod se muestre vacio, es decir:

namn id kod
juan - 1 - uno
pedro - null - 'vacio'

espero no haber confundido mas.

Última edición por Gaim2205 fecha: 09-11-2011 a las 16:54:08.
Responder Con Cita
  #4  
Antiguo 09-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
los datos que has colocado ahi de que tabla es???? ek_personal o ek_avtalsomrade
y la otra tabla que datos tiene?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 09-11-2011
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
tabla ek_avtalsomrade: ID(int), kod(char)
tabla ek_personal: ID_1 (int) puede ser null
Responder Con Cita
  #6  
Antiguo 09-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Gaim2205 Ver Mensaje
tabla ek_avtalsomrade: ID(int), kod(char)
tabla ek_personal: ID_1 (int) puede ser null
creo que no has entendido mi pregunta....

que datos tiene

Ejemplo
Cita:
Tabla1
KOD ----- Nombre-----Valor
001------aaaaaaaa------3
002------bbbbbbbb------2
Cita:
Tabla2
KOD-----Precio-----Unidad
001-------3--------UND
001-------2--------UND
005-------6--------KIL
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 09-11-2011
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
Tabla 1 (ek_personal)
NOMBRE ------ ID
juan ------- 1
pedro ------ null
luis -------- null

Tabla 2
ID ------ KOD
1 ------ uno
2 ------ dos
3 ------ tres

resultado que obtengo:
NOMBRE ----- KOD
juan ----- uno
pedro ----- uno
pedro ----- dos
pedro ----- tres
luis ----- uno
luis ----- dos
luis ----- tres

y el resultado deseado es:

NOMBRE ----- KOD
juan ----- uno
pedro ----- vacio
luis ----- vacio


gracias por el interes.
Responder Con Cita
  #8  
Antiguo 09-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y has tratado de esta forma?

Código SQL [-]
 
Select namn, id, t2.KOD From ek_personal t1 Left join ek_avtalsomrade t2 on t1.id = t2.id
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #9  
Antiguo 09-11-2011
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
pues como dije. Hay gente mas habil que en 2 minutos lo soluciona facilmente. No se me da mucho lo de los joins todavia, tendre que leer un poco. Gracias!!!
Responder Con Cita
  #10  
Antiguo 09-11-2011
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Puedes probar con lo siguiente:

Código SQL [-]
SELECT ek_personal.Nombre, ek_avtalsomrade.KOD
FROM ek_personal LEFT JOIN ek_avtalsomrade ON ek_personal.Id = ek_avtalsomrade.Id;

Dinos que te muestra al hacer la consulta de esta forma.

Saludos.
Responder Con Cita
  #11  
Antiguo 09-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Gaim2205 Ver Mensaje
pues como dije. Hay gente mas habil que en 2 minutos lo soluciona facilmente. No se me da mucho lo de los joins todavia, tendre que leer un poco. Gracias!!!
y se soluciono?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #12  
Antiguo 09-11-2011
Avatar de Gaim2205
Gaim2205 Gaim2205 is offline
Miembro
 
Registrado: ago 2007
Ubicación: Durango, Mexico
Posts: 144
Poder: 17
Gaim2205 Va por buen camino
si, me da el resultado que quiero.

NOMBRE ----- KOD
juan ----- uno
pedro ----- vacio
luis ----- vacio
Responder Con Cita
  #13  
Antiguo 09-11-2011
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Vaya, parece que se me adelantaron.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
mostrar un registro solo de un query Patricio Varios 3 18-11-2008 20:31:27
Mostrar un solo registro en un dbgrid Ivan_25 C++ Builder 5 03-11-2005 12:40:13
Imprimir con QRDBText un cero cuando el valor es nulo ISKANDAR Impresión 9 03-10-2005 23:08:06
mostrar SOLO cliente de los que tengo un sólo registro Giniromero SQL 15 11-06-2004 12:33:19
Valor nulo pache OOP 3 19-06-2003 08:39:13


La franja horaria es GMT +2. Ahora son las 19:59:47.


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