Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   consultas sql (http://www.forosdelweb.com/f86/consultas-sql-569452/)

darkleo 26/03/2008 10:53

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

bleckfala 26/03/2008 12:44

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';

darkleo 26/03/2008 16:37

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

quimfv 27/03/2008 02:13

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

darkleo 27/03/2008 16:55

Re: consultas sql
 
muchisimas gracias quimfv, ensayare lo me dijiste y te comento

darkleo 27/03/2008 18:18

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

quimfv 28/03/2008 02:24

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

darkleo 28/03/2008 06:40

Re: consultas sql
 
quim, realmente muchas gracias queda muy claro, :aplauso: me sirvio de gran ayuda


La zona horaria es GMT -6. Ahora son las 16:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.