elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  INNER
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: INNER  (Leído 2,369 veces)
bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
INNER
« en: 20 Junio 2015, 08:53 am »

Hola tengo dos tablas sobre las que deseo "cruzar" datos y hacer una consulta.

eclientes tiene las tabalas ofi, NACIONALIDAD
ocentro ofi, del

El "campo" en común es ofi.

Lo que trato es de contar todos los registros para todos los campos donde "del" sea diferente de "blancos" me agrupe los valores contando de la tabla "eclientes" todos aquellos valores donde "ofi" sea igual y además que se cumpla que  NACIONALIDAD "SI".

Estoy haciendo esto pero aunque no me da error no me saca nada y sí debiera por lo que estoy haciendo algo mal pero no sé qué.

Código
  1.  
  2. $busqueda2=mysql_query("SELECT * FROM eclientes E inner join  ocentro O
  3. ON E.ofi = O.ofi
  4.  
  5. COUNT((`O.del`!= ''`)) WHERE `E.NACIONALIDAD`= `SI` group by `O.del` ") ;
  6.  
  7. echo "<table width=500  border=1 align=left>"; //EMPIEZA A CREAR LA TABLA CON LOS ENCABEZADOS DE TABLA
  8. echo "<tr>";//<tr> CREA UNA NUEVA FILA
  9. echo "<td width=200>Delegado </td>";//<td> CREA NUEVA COLUMNA
  10. echo "<td width=300>Afiliados</td>";
  11.  
  12. echo "</tr>";
  13.  
  14.  
  15. while($consulta2 = mysql_fetch_array($busqueda2)){
  16.  
  17. echo "<tr>";
  18. echo "<td>".$consulta2['0']."</td>";
  19. echo "<td>".$consulta2['1']."</td>";
  20. echo "</tr>";
  21. }
  22.  
  23. echo "</table>";//FINALIZA LA TABLA
  24.  
  25.  
  26.  
  27.  
  28.  


¿Por qué no me saca nada?


En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: INNER
« Respuesta #1 en: 20 Junio 2015, 09:20 am »

Así tampoco:

Código
  1.  
  2. busqueda2=mysql_query("SELECT * FROM eclientes E inner join  ocentro O
  3. ON E.ofi = O.ofi
  4.  
  5. COUNT((`O.del`!= ''`)) WHERE  E.ofi =O.ofi AND `E.NACIONALIDAD`= `SI` group by `O.del` ") ;
  6.  
  7.  

No lo consigo....


En línea

fran800m

Desconectado Desconectado

Mensajes: 204



Ver Perfil
Re: INNER
« Respuesta #2 en: 20 Junio 2015, 14:52 pm »

Si te lo digo flaco favor te voy a hacer, pero te voy a hacer pensar.

Si ya unes las tablas por E.ofi = O.ofi no tienes que filtrar por ese criterio, ya lo hiciste al unir por ese punto.

`E.NACIONALIDAD`= `SI` es un criterio. Y correctamente lo pones en el where.

`O.del`!= '' es otro criterio de filtrado, ¿dónde debería estar entonces.

Respecto al count mírate algún tutorial básico, ¿lo has puesto en el lugar correcto de la sentencia SQL ?

El group no sé si te hace falta porque no he entendido muy bien lo que quieres (ando espeso, falta de sueño...).

Un saludo,
En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: INNER
« Respuesta #3 en: 21 Junio 2015, 17:42 pm »

Ya lo he conseguido

SOY UN CASCOPORRO.

Gracias mil
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines