Comunidad de diseño web y desarrollo en internet online

Problema con LEFT JOIN. Supliendo un Not In

Citar            
MensajeEscrito el 01 Abr 2011 12:15 pm
Hola a todos,

Código MySQL :

select columna1,columna2 from datos1 where columna1not IN (
select columna1 from datos2)

select a.columna1,b.columna2 from datos1 a 
INNER JOIN datos2 b ON a.columna1=b.columna1
where b.columna1 is null


Funciona, el left join y el not in como esperaba, el problema es cuando pongo un 'where' limitando los resultados de la consulta dentro del not in; osea:

Código MySQL :

select columna1,columna2 from datos1 where columna1not IN (
select columna1 from datos2 where columna3="Pepe")


Pretendo que los pepes no salgan en mi lista, como puedo hacer esto con Left Join?, probé:

Código MySQL :

select a.columna1,b.columna2 from datos1 a 
INNER JOIN datos2 b ON a.columna1=b.columna1
where b.columna1 is null and b.columna3<>"Pepe"


Pero no funciona, ¿Alguna idea?

Gracias y saludos

Por neisserian89

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2011 12:17 pm
Perdon, puse los columna1not IN, se que va con espacio pero me lo comi y el resto fueron copy & paste, asi que solo aclarar que es NOT IN, y no IN, y que sí, en la consulta si lo separo de la columna jeje.

Gracias

Por neisserian89

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2011 01:18 pm
Dices que usas Left Join pero no lo estas usando...

Código MySQL :

SELECT a.columna1,b.columna2 FROM datos1 a  
LEFT JOIN datos2 b ON a.columna1=b.columna1 
WHERE b.columna1 is null and b.columna3<>"Pepe" 


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 01 Abr 2011 01:24 pm

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 01 Abr 2011 04:01 pm

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 Abr 2011 07:49 am

Maikel escribió:

Dices que usas Left Join pero no lo estas usando...

Código MySQL :

SELECT a.columna1,b.columna2 FROM datos1 a  
[b]LEFT JOIN[/b] datos2 b ON a.columna1=b.columna1 
WHERE b.columna1 is null and b.columna3<>"Pepe" 


saludos


¿Podrías ser un poco max explícito?, las filas que me devuelven las consultas son las mismas con ambas consultas, y puse left join, en mayúscula negrita, a si que no entiendo que quieres decirme.

SAludos y gracias por las respuestas.

Por neisserian89

65 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Abr 2011 12:58 pm

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 Abr 2011 03:35 pm
Wooooooooooops que fallo. quería poner LEFT JOIN, no INNER, solo que ese día tuve que hacer 30000 INNER y las manos se iban a ellos por inercia;
Sé como funciona el INNER, sé como funciona el LEFT, y entiendo lo que se explica en el tuto, pero vosotros no me entendeis a mi, básicamente por que puse INNER y no LEFT por error, si sois tan amables releed el post tomando los INNER como lefts y vereis cual es mi pregunta, cuando en la resta del NOT IN hay un WHERE, es donde me esta dando problemas, y no me esta funcionando agregando ese condicional en el where de la macrotabla generada por el JOIN.

Saludos

Por neisserian89

65 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.