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

consultas sql

Estas en el tema de consultas sql en el foro de Mysql en Foros del Web. buenas tardes, resulta q tengo el siguiente inconveniente realice esta consulta de 2 tablas q tengo en phpmyadmin (mysql): $queEmp = 'SELECT prldap.gid,prc4.boca,prldap.mac FROM `prldap`,`prc4` ...
  #1 (permalink)  
Antiguo 26/03/2008, 10:53
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
consultas sql

buenas tardes, resulta q tengo el siguiente inconveniente realice esta consulta de 2 tablas q tengo en phpmyadmin (mysql):
$queEmp = 'SELECT prldap.gid,prc4.boca,prldap.mac FROM `prldap`,`prc4` WHERE prldap.mac=prc4.mac';
la consulta resulto exitosa, pero me gustaria saber como hago la consulta de las no coincidencias es decir where prldap.mac != prc4.mac, como realizo esta consulta??
muchas gracias
  #2 (permalink)  
Antiguo 26/03/2008, 12:44
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: consultas sql

pues como le pusiste ahi where prldap.mac!=prc4.mac la diferencia en mysql es denotada por != si quiero saber por ejemplo los nombres de la gente q no sea = a juan tonces le pones select nombre from nombres where nombre!='juan';
  #3 (permalink)  
Antiguo 26/03/2008, 16:37
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: consultas sql

buenas, la pregunta concreta y se q en muchos lenguajes el signo de diferente es !=, pero en mysql como es o como funciona bien la parte de NOT LIKE, porq necesito q me arroje las no coincidencias del cruce de las tablas q realice en la consulta q hice arriba, gracias
  #4 (permalink)  
Antiguo 27/03/2008, 02:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: consultas sql

Si lo que quieres es que te de los registros que estan en una tabla y no estan en la otra debes hacer lo siguiente:


Código:
SELECT prldap.gid,prc4.boca,prldap.mac
FROM `prldap` LEFT JOIN `prc4` ON prldap.mac= prc4.mac
WHERE prc4.mac Is Null;
esto te dará los registros que estan en prldap y no estan en prc4 y

Código:
SELECT prldap.gid,prc4.boca,prc4.mac
FROM `prc4` LEFT JOIN  `prldap` ON prldap.mac= prc4.mac
WHERE prldap.mac Is Null;
los que esten en prc4 y no en prldap.... va todos juntos


Código:
SELECT `prldap`.`gid` as `gid`,
             `prc4`.`boca` as `boca`,
             `prldap`.`mac` as `mac`
FROM `prldap` LEFT JOIN `prc4` 
       ON `prldap`.`mac`= `prc4`.`mac`
WHERE `prc4`.`mac` Is Null
UNION ALL
SELECT `prldap`.`gid` as `gid`,
             `prc4`.boca` as `boca`,
             `prc4`.mac` as `mac`
FROM `prc4` LEFT JOIN  `prldap` 
      ON `prldap`.`mac`= `prc4`.`mac`
WHERE `prldap`.`mac` Is Null;
Quim
  #5 (permalink)  
Antiguo 27/03/2008, 16:55
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Re: consultas sql

muchisimas gracias quimfv, ensayare lo me dijiste y te comento
  #6 (permalink)  
Antiguo 27/03/2008, 18:18
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Re: consultas sql

buenas noches de verdad muchas gracias me resolviste mi duda, con esta parte de codigo
'SELECT prldap.gid,prc4.boca,prc4.mac
FROM `prc4` LEFT JOIN `prldap` ON prldap.mac= prc4.mac
WHERE prldap.mac Is Null';

el ultimo codigo lo ensaye y despues de un buen rato no obtuve ningun resultado pr la parte como se definen prldap.gid y demas

q pena la preguntadera ese LEFT JOIN *** ON cual es la funcion?? q pena la ignorancia
  #7 (permalink)  
Antiguo 28/03/2008, 02:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: consultas sql

TablaIzquierda LEFT JOIN TablaDerercha ON TablaIzquierda.campo1=TablaDerercha.campo1

Nos da TODOS registros de TablaIzquierda combinados con los de TablaDerecha donde los campo1 de cada una de ellas sean iguales.

Tambien tienes INNER JOIN y RIGHT JOIN, inner nos dará solo los registros donde los campo1 sean iguales y RIGHT....

Inner Join.
Outer Joins (Right Join -Left Join).
Self Join

SQL99 define más posibilidades pero no estan implementadas en todos los Servidores de BBDD.

Cada aplicacion del Sql tiene sus extensiones por lo que hay que mirar el manual del servidor que se este usando.

1.7.4. Extensiones MySQL al estándar SQL

Quim
  #8 (permalink)  
Antiguo 28/03/2008, 06:40
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Re: consultas sql

quim, realmente muchas gracias queda muy claro, me sirvio de gran ayuda
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:19.