Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Consultar valores null

Estas en el tema de Consultar valores null en el foro de Mysql en Foros del Web. Buenas tardes, No consigo dar con la sulucion, buscando en google todo dicen que para consultar cambos nulos con poner campo is null o campo='' ...
  #1 (permalink)  
Antiguo 03/11/2013, 10:56
 
Fecha de Ingreso: noviembre-2013
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 11 años, 1 mes
Puntos: 0
Consultar valores null

Buenas tardes,

No consigo dar con la sulucion, buscando en google todo dicen que para consultar cambos nulos con poner campo is null o campo='' es suficiento pero en la consulta no me enseña ningun registro cuando si hay valores nulos.

mysql> select * from turista;
+--------+-----------+--------------------+-------------------------+-----------+--------+
| CodTur | nom | cognoms | adreca | telefon | CodSuc |
+--------+-----------+--------------------+-------------------------+-----------+--------+
| 1 | Albert | Miralles Garcia | C/ Provença | 937654321 | 100 |
| 2 | Adrià | Sánchez Pérez | C/ Valencia | 936543219 | 101 |
| 3 | Josep Mª | Royo Royo | C/ Mallorca | 935432198 | 102 |
| 4 | Laia | Comas Garcia | C/ Rosselló | 934321987 | 100 |
| 5 | Laia | Capdevila Sánchez | C/ Gran de Gràcia | 933219876 | 100 |
| 6 | Nuria | Vila Vila | C/ Balmes | 932198765 | 101 |
| 7 | Marta | Donyoro Pérez | Rambla Egara | 931987654 | 102 |
| 8 | Antonio | Sil Sil | C/ Torrent de les Flors | 939876543 | 102 |
| 9 | Laura | de la Luz LLorente | C/ Torrents | 938765432 | 102 |
| 10 | Jordi | Pla Pla | C/ Virtud | 937654320 | 103 |
| 11 | Meritxell | Sol Sol | Plaça del Sol | 937654321 | 100 |
| 12 | Mª José | Hurtado Pérez | Plaça de la Virreina | 937654323 | 100 |
| 13 | Eulàlia | Gimeno Catalán | C/ Montacasa | 937654324 | NULL |
| 14 | Sara | Ros Ros | PC/ Girona | 937654325 | NULL |
+--------+-----------+--------------------+-------------------------+-----------+--------+
14 rows in set (0.00 sec)

La intención que tengo es que me salga todos los registros que tengan un codigo de sucursal.

mysql> select * from sucursal;
+--------+----------------+-----------+
| CodSuc | adreca | telefon |
+--------+----------------+-----------+
| 100 | C/ Sants | 930000000 |
| 101 | Avda. Diagonal | 931111111 |
| 102 | Gran Via | 932222222 |
| 103 | C/ Escorial | 933333333 |
+--------+----------------+-----------+
4 rows in set (0.00 sec)

Al hacer este comando select:

select t.*, s.adreca ,s.telefon from turista t
inner join sucursal s
on t.CodSuc=s.CodSuc
where t.CodSuc IS NULL
order by t.CodTur;

or

select * from turista;
select * from sucursal;
select t.*, s.adreca ,s.telefon from turista t
inner join sucursal s on t.CodSuc=s.CodSuc
where t.CodSuc IS NOT NULL and t.CodSuc is NULL
order by t.CodTur;

Me salen vacios.

Si les quito el where, me salen todos los valores, menos los que estan vacios. Necesito que me salgan tantos los que en CodSuc tengan un valor como NULL.

Como digo le he dado muchas vueltas, mirado demasiado en internet y no doy con el como hacerlo.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 03/11/2013, 11:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: Consultar valores null

¿has probado sin WHERE y con LEFT JOIN?
  #3 (permalink)  
Antiguo 03/11/2013, 12:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consultar valores null

El tema es simple: si dos tablas se deben relacionar por medio de un campo, en la tabla donde ese campo es FK, tiene un NULL, ese registro jamás será mostrado por un INNER JOIN, ya que el INNER JOIN tiene como requisito explícito y obligatorio que haya valores iguales en los campos relacionados de las tablas.
Por lo demás, NULL no es un dato, por lo que no aplica el JOIN si, por ejemplo, ambas columnas fuesen NULL.

Haz como te dice @jurena: Usa LEFT JOIN.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 03/11/2013, 12:43
 
Fecha de Ingreso: noviembre-2013
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consultar valores null

Muchas gracias a los dos.

Lo he probado con sin WHERE y con LEFT JOIN y ha funcionado, perfectamente.

Me ha gustado la explicacion que me dais, en mis dos manuales que estoy utilizando no ponía nada de esto.

Muchas gracias,

Etiquetas: campo, consultar, join, null, registro, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.