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


 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con sentencia sql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con sentencia sql  (Leído 12,737 veces)
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #10 en: 24 Marzo 2010, 17:33 »

Citar
Yo presumo que tiene un chapuzon de dudas y confusiones, creo que con mi post resuelve su duda...!

Ojala sea asi  :rolleyes:  porque particularmente yo... he entendido muy poco sus respuestas y lo que anda solicitando.


En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #11 en: 25 Marzo 2010, 16:20 »

tengo un indice en la tabla equipos del campo nombre, para por ejemplo sacar el nombre en la tabla partidios hago un inner join:
Código
  1. SELECT e1.nombre equipo1,e2.nombre equipo2,avg(resultado_equipo1 + resultado_equipo2) AS media FROM partidos  p INNER JOIN equipos e1 ON p.id_equipo=e1.registro INNER JOIN equipos e2 ON p.id_equipo2=e2.registro GROUP BY id_equipo;
  2.  

ahi saco por ejemplo la media de puntos de cada partido jugado, y uso inner join para coger el nombre del equipo


Nos gustaria que nos informes si resolviste tu duda...! Saludos


En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Ayuda con sentencia sql
« Respuesta #12 en: 25 Marzo 2010, 16:48 »

nada aun no, si la resuelvo os lo hago saber

es un curso de php y me esta resultando un poco dificilillo, y luego viene el avanzado  :o


se nota que es del gobierno jeje
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #13 en: 25 Marzo 2010, 19:02 »

Nope la peticion en si no esta dificil  ;)  el problema es que al menos yo no entiendo del todo tu peticion, pero guiandome de tus ejemplos mostrados al inicio, cree 2 tablas con la informacion que quieres obtener al final;

Código
  1.  
  2. mysql> SELECT * FROM partidos;
  3. +----------+-------------------+
  4. | registro | resultado_equipo1 |
  5. +----------+-------------------+
  6. |        1 |                60 |
  7. |        2 |                80 |
  8. |        1 |                40 |
  9. |        2 |                30 |
  10. |        3 |                15 |
  11. +----------+-------------------+
  12. 5 ROWS IN SET (0.01 sec)
  13.  
  14. mysql> SELECT * FROM equipos;
  15. +----------+---------------+
  16. | registro | nombre        |
  17. +----------+---------------+
  18. |        1 | Los rojos     |
  19. |        2 | Los Azules    |
  20. |        1 | Los rojos     |
  21. |        3 | Los Amarillos |
  22. |        2 | Los Azules    |
  23. +----------+---------------+
  24. 5 ROWS IN SET (0.00 sec)
  25.  
  26.  
  27.  

Citar
hallar el numero maximo de partidos ganados por cada equipo añadiendo el nombre del equipo y ordenar el resultado decrecientemente por el nº de partidos ganados


Ahora, tu enunciado dice, que encuentre el total de partidos ganados por equipo, y diga cuales fueron esos equipos y el resultado final los ordene de manera descendente? entonces seria algo tipo:

Código
  1.  
  2. mysql> SELECT MAX(resultado_equipo1) AS Partidos_Ganados, nombre AS Equipo  FROM  partidos JOIN equipos ON equipos.registro = partidos.registro GROUP BY partidos.registro ORDER BY nombre DESC;
  3. +------------------+---------------+
  4. | Partidos_Ganados | Equipo        |
  5. +------------------+---------------+
  6. |               60 | Los rojos     |
  7. |               80 | Los Azules    |
  8. |               15 | Los Amarillos |
  9. +------------------+---------------+
  10. 3 ROWS IN SET (0.00 sec)
  11.  
  12.  
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #14 en: 25 Marzo 2010, 19:59 »

Tifa bella, el dice: hallar el numero maximo de partidos ganados por cada equipo añadiendo el nombre del equipo y ordenar el resultado decrecientemente por el nº de partidos ganados

Por tal motivo, debe ir la cantidad que ha ganado y ordenarlo...! Así como lo muestro en las imagenes...! Verifica mis Querys en MySQL, porque lo arme en SQL Server, si te funcionan a ti, pues a el debería funcionarle, aunque es lo mismo... No entiendo porque se le complica la cosa, si es tan simple..!
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Ayuda con sentencia sql
« Respuesta #15 en: 25 Marzo 2010, 22:11 »

max() te saca todos los registros o unicamente el maximo?

porcierto, ya me pasaron el ejercicio como bueno, pero aun asi, me intrigaria saber como se hace, siempre sea por saber mas :)
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #16 en: 25 Marzo 2010, 22:57 »

MAX(CAMPO) Te saca el valor maximo y depende de la condición para que te muestre uno, o varios registros...! Leete un manual, hay muchos en la web...!
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #17 en: 26 Marzo 2010, 00:30 »

Hola ssscaann43.

No digo que tu idea este equivocada, porque puede ser funcional... yo ofreci un ejemplo que podia ayudarlo , mas no una solucion, ya que yo desconozco totalmente los registros existentes en las tablas para tener una idea mas organizada que datos esta el solicitando. Estoy adivinando acorde a la estructura de tablas que el ofrecio, y imagine que el campo resultado_equipo1 era el campo que guarda los juegos ganados por temporada  ;)

Yo coloque como campo de cantidad de partidos ganados resultado_equipo1  hay salen varios valores, segun de partidos ganados por distintas temporadas 40, 50, 60, 10, etc. Entonces esa seria la cantidad de juegos ganados por equipos usando de relacion el campo registro existente en ambas tablas.

Entonces los nombres de los equipos en mi ejemplo son el campo nombre de la tabla Equipos, en mi caso se repiten varias veces los equipos como podras ver, porque han jugado y ganado en diferentes temporadas  ;)

Entonces si lo anterior es valido, para sacar el maximo de partidos ganados por temporada de cada equipo, se haria la consulta SQL que hice, y que te lanza de resultado la cantidad de juegos mayor ganada por equipo, y el nombre del respectivo equipo que la gano:

Citar
+------------------+---------------+
| Partidos_Ganados | Equipo        |
+------------------+---------------+
|               60 | Los rojos     |
|               80 | Los Azules    |
|               15 | Los Amarillos |
+------------------+---------------+


Si te fijas, el equipo "Los Rojos" jugaron 2 temporadas, en una ganaron 40 juegos y en la otra 60 juegos, miralo en la tabla:

Citar
mysql> SELECT * FROM partidos;
+----------+-------------------+
| registro | resultado_equipo1 |
+----------+-------------------+
|        1 |                60 |
|        2 |                80 |
|        1 |                40 |
|        2 |                30 |
|        3 |                15 |
+----------+-------------------+
5 rows IN SET (0.01 sec)
 
mysql> SELECT * FROM equipos;
+----------+---------------+
| registro | nombre        |
+----------+---------------+
|        1 | Los rojos     |
|        2 | Los Azules    |
|        1 | Los rojos     |
|        3 | Los Amarillos |
|        2 | Los Azules    |
+----------+---------------+
5 rows IN SET (0.00 sec)


El campo que sirve de relacion en mi ejemplo es registro entonces, el Equipo "Los Rojos" jugo 2 temporadas donde la cantidad mayor de juegos ganados es 60  ;)  descartando donde ellos mismos ganaron 40 partidos....

50l3r

La funcion MAX en SQL obtiene precisamente el numero mayor o maximo existente en un campo de la tabla. Utilize GROUP BY para indicar que me sacara el numero mayor de partidos jugados por cada Equipo... y ese fue el resultado final, el que postee anteriormente.
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Ayuda con sentencia sql
« Respuesta #18 en: 26 Marzo 2010, 01:14 »

Mi linda, es que tienes razón en lo que dices. Pero bueno quizas yo malinterprete lo que este chico quiere, pero a decir verdad "ni el sabe que quiere"...

Ya tiene 2 soluciones, la tuya que le muestra la cantidad de juegos mayor ganada por equipo, y el nombre del respectivo equipo que la gano.... Y la mia que le muestra el equipo con más juegos ganados todo ordenado...! Ya el decidira que opcion tomar...!
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Ayuda con sentencia sql
« Respuesta #19 en: 26 Marzo 2010, 15:32 »

haber, si al sentencia es muy facil, que si se lo que quiero mira

hayar el maximo numero de partidos ganados por cada equipo, y que te salga el nombre del equipo, y que esten ordenados, que eso es facil
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con sentencia bastante dificil
Bases de Datos
50l3r 6 3,435 Último mensaje 30 Diciembre 2010, 14:20
por JuanRaGD
Sentencia SQL
Bases de Datos
TheGhost(Z) 2 1,980 Último mensaje 6 Marzo 2011, 17:35
por raul338
ayuda sentencia SQL
Bases de Datos
soru13 4 2,413 Último mensaje 16 Junio 2012, 19:07
por soru13
Ayuda con la sentencia WHERE en VB.net
Programación General
airtraffic 2 951 Último mensaje 19 Febrero 2013, 21:52
por airtraffic
Ayuda! Error con sentencia do while
Programación C/C++
Chandalero 2 493 Último mensaje 9 Mayo 2018, 19:49
por Chandalero
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines