Autor Tema: obtener Registros Null en consulta(SOLUCIONADO)  (Leído 3105 veces)

0 Usuarios y 1 Visitante están viendo este tema.

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
obtener Registros Null en consulta(SOLUCIONADO)
« en: Septiembre 23, 2014, 09:45:19 pm »
Hola Foristas y amigos, me he atorado en un consulta espero alguno amigo o compañero forista me pueda orientar se lo voy agradecer muchisimo gracias

tengo una duda tengo la siguiente consulta

Código: [Seleccionar]
sSql = "select IDENT, TIPO_IDENT, sum(DONATIVO) AS TOTAL, count(*) as CANTIDAD From (select FECHAE, IDENT, TIPO_IDENT, DONATIVO, ID_UUID from CAJA_INTENCIONES WHERE FECHAE Between '" & sFechaIni & "' AND '" & sFechaFin & "' AND STATUS LIKE '%" & sST & "%' AND ID_UUID LIKE '%" & sIdEuuid & "%' Union All select FECHAE, IDENT, TIPO_IDENT, DONATIVO, ID_UUID from CAJA_SERVICIOS WHERE FECHAE Between '" & sFechaIni & "' AND '" & sFechaFin & "' AND STATUS LIKE '%" & sST & "%' AND ID_UUID LIKE '%" & sIdEuuid & "%') as T group by IDENT, TIPO_IDENT"

trabaja bien,. mi problema es qu deseo que la consulta me retorne datos aunque  existan registros en  el campo ID_UUID como null , ya que si pongo la variable sin nada no retorna dichos datos por existen campos null e intentado ocupar null pero no he logrado el exito deseado

Código: [Seleccionar]
sIdEuuid = ""
de antemano gracias

saludos
« última modificación: Septiembre 26, 2014, 01:57:56 pm por aedEric »
No he fracasado. He encontrado 10000 soluciones que no funcionan.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:obtener Registros Null en consulta
« Respuesta #1 en: Septiembre 24, 2014, 01:31:54 pm »
Código: (SQL) [Seleccionar]
SELECT IDENT, TIPO_IDENT, IFNULL(SUM(DONATIVO),0) AS TOTAL, COUNT(*) AS CANTIDAD
FROM (SELECT FECHAE, IDENT, TIPO_IDENT, DONATIVO, ID_UUID

FROM CAJA_INTENCIONES
WHERE FECHAE BETWEEN '" & sFechaIni & "' AND '" & sFechaFin & "' AND STATUS LIKE '%" & sST & "%' AND ID_UUID LIKE '%" & sIdEuuid & "%'
UNION ALL SELECT FECHAE, IDENT, TIPO_IDENT, DONATIVO, ID_UUID

FROM CAJA_SERVICIOS
WHERE FECHAE BETWEEN '" & sFechaIni & "' AND '" & sFechaFin & "' AND STATUS LIKE '%" & sST & "%' AND ID_UUID LIKE '%" & sIdEuuid & "%') AS T
GROUP BY IDENT, TIPO_IDENT
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:obtener Registros Null en consulta
« Respuesta #2 en: Septiembre 25, 2014, 07:00:08 pm »
Hola Enter muchas Gracias por contestar te agradezco tu apoyo saludos desde México
No he fracasado. He encontrado 10000 soluciones que no funcionan.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:obtener Registros Null en consulta
« Respuesta #3 en: Septiembre 25, 2014, 08:08:08 pm »
Solo para aclarar, me parece que IfNull funciona solo en MySQL? no estoy seguro, tan metido en Firebird me hace desconocerlo.

Como respuesta genérica adicional o salvo que no te funcione cambias eso por Coalesce que pertenece al TransactSQL.

De tal manera que quede asi:
Código: (VB) [Seleccionar]
SELECT COALESCE(TuCampo, 0) FROM TUTABLASi TuCampo no es nulo te dará el valor de TuCampo sino te dará 0 o el valor que le pongas.

Y sino la otra alternativa es tratarlo a nivel de VB6, o sea, recibe el dato Null y lo tratas junto con el Iif:

Código: (VB) [Seleccionar]
TuDato = iif(IsNull(TuCampo), 0, TuCampo)Esto es si tu campo es nulo métele cero o el valor que quieras, sino pondrás el valor de TuCampo u otro que quieras.

Saludos
Me encuentras en YAcosta.com

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:obtener Registros Null en consulta
« Respuesta #4 en: Septiembre 26, 2014, 01:57:10 pm »
amigo saludos Yvan muchas gracias por tu aporte efectivamente en firebird no funciona lo que me hizo favor Enter aportarme, muchas gracias tengo ahora más claro como tratar este tema saludos como siempre y gracias
No he fracasado. He encontrado 10000 soluciones que no funcionan.