Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2012, 09:42
danihxh
Invitado
 
Mensajes: n/a
Puntos:
Left Join con condición que devuelva campos NULL si no hay coincidencia

Buenas, tengo una tabla "usuarios" con un campo "nick" entre otros y otra "solicitudes" con un campo "tipo" que puede contener varios valores, pero no puede contener dos solicitudes de un mismo usuario y del mismo tipo. Por ejemplo, un usuario "David" podría tener dos solicitudes, pero de distinto tipo.

Necesito hacer una consulta parecida a la siguiente, pero en la cuál se puedan buscar solicitudes de un tipo determinado:

SELECT usuarios.id, solicitudes.id, solicitudes.tipo FROM usuarios LEFT JOIN solicitudes ON usuarios.id=solicitudes.solicitante WHERE nick='XXX' LIMIT 1;


El problema es que esta consulta funciona bien cuando el usuario no tiene ninguna solicitud, en cuyo caso devuelve (ID del usuario, NULL, NULL), pero si utilizo "WHERE nick='XXX' AND tipo=N" y el usuario no tiene solicitudes de ese tipo, no devuelve nada, y necesitaría que devolviese lo mismo que antes: (ID del usuario, NULL, NULL).

¿Alguna idea? Gracias :)