Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: aedEric en Septiembre 23, 2014, 09:45:19 pm

Título: obtener Registros Null en consulta(SOLUCIONADO)
Publicado por: aedEric 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
Título: Re:obtener Registros Null en consulta
Publicado por: E N T E R 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
Título: Re:obtener Registros Null en consulta
Publicado por: aedEric en Septiembre 25, 2014, 07:00:08 pm
Hola Enter muchas Gracias por contestar te agradezco tu apoyo saludos desde México
Título: Re:obtener Registros Null en consulta
Publicado por: YAcosta 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
Título: Re:obtener Registros Null en consulta
Publicado por: aedEric 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