28/06/2012, 09:42
|
|
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 :) |