MySQL - Duda sobre consulta MySQL

   
Vista:

Duda sobre consulta MySQL

Publicado por Ramiro Mejías Rodríguez ramiro.mejias@gmail.com (5 intervenciones) el 01/04/2016 19:43:14
Tengo una tabla que se llama protype, que tiene la siguiente estructura y contenido:
1
2
3
4
5
6
7
8
9
|---------------------------|
|id | process               |
|---------------------------|
| 1 | Convocatoria          |
| 2 | FUncionario           |
| 3 | Designado             |
| 4 | Cuadros               |
| 5 | Contratos Determinados|
-----------------------------

Tengo otra tabla que se llama procesos, que tiene la siguiente estructura y contenido:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|------------------------------------------------------|
|id | year | protype | title      | description        |
|------------------------------------------------------|
| 1 | 2015 |    5    | Proceso 1  | Buen proceso       |
| 2 | 2015 |    1    | Proceso 2  | Excelente proceso  |
| 3 | 2015 |    1    | Proceso 3  | Terminado en tiempo|
| 4 | 2015 |    1    | Proceso 4  | Atrasado           |
| 5 | 2015 |    1    | Proceso 5  | Faltan candidatos  |
| 6 | 2015 |    2    | Proceso 6  | Candidatos externos|
| 7 | 2015 |    2    | Proceso 7  | Internos y externos|
| 8 | 2016 |    1    | Proceso 8  | Personal contratado|
| 9 | 2016 |    3    | Proceso 9  | Detenido           |
|10 | 2016 |    5    | Proceso 10 | En proceso         |
|11 | 2016 |    1    | Proceso 11 | Detenido           |
|12 | 2016 |    2    | Proceso 12 | Avanzando          |
--------------------------------------------------------

Necesito una consulta que me devuelva los siguientes resultados:
1
2
3
4
5
6
7
8
9
----------------------------------------
| tipo                   | 2015 | 2016 |
---------------------------------------|
| Contratos Determinados |   1  |   1  |
| Convocatorias          |   4  |   2  |
| Cuadros                |   0  |   0  |
| Designados             |   0  |   1  |
| Funcionarios           |   2  |   1  |
----------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Felix

Duda sobre consulta MySQL

Publicado por Felix (6 intervenciones) el 02/04/2016 18:44:06
Saludos!

Lo primero que debes determinar es como se relacionan ambas tablas y de esta manera saber que vas a contar.

A simple vista es imposible determinar cual es la relación de las tablas y que valores tomas para saber (por ejemplo) porque "Contratos Determinados" tiene "1" en 2015 y "1" en 2016.

Eso lo puedes hacer con "count" pero como ya te dije, sabiendo de forma precisa como se relacionan las tablas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre consulta MySQL

Publicado por Ramiro Mejías Rodríguez ramiro.mejias@gmail.com (5 intervenciones) el 04/04/2016 19:19:12
Muchas gracias, Félix por la respuesta. He aquí algunas aclaraciones.
La segunda tabla está relacionada con la primera a través del campo protype, es decir, en ese campo se almacena el id del tipo de proceso de la primera tabla.
Lo que se quiere obtener como resultado de la consulta, es un listado con los tipos de proceso que se encuentran en la segunda tabla y la cantidad de los desarrollados por año; tal y como se muestra en la tabla 3.
Contratos determinados tiene 1 en el 2015 y 1 en el 2016 porque esa es la cantidad de procesos de ese tipo que se desarrolló en cada año.
Quedo en espera de sus valoraciones al respecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre consulta MySQL

Publicado por Gonzalo (103 intervenciones) el 02/04/2016 19:46:09
Ok...
¿Cuales son las reglas de negocio? ¿Como se relacionan cada una de las entidades de ese esquema?
¿Por qué una tabla como PROTYPE contiene valores que parecen pertenecer a dominios completamente distintos y no relacionados?
Esa tabla contiene: Convocatoria, Funcionario, Designado, Cuadros y Contratos Determinados. Ninguno de esos conceptos o elementos parece pertenecer al mismo proceso ni a la misma relación ¿Por qué están todos en una sola tabla? ¿Qué se supone que representa esa tabla?

La segunda tabla, PROCESOS, por su lado, parece representar el estado de los procesos, y no a los procesos en sí. Son conceptos diferentes.

Da la impresión de que el diseño entero está mal definido, además de grandes faltantes de información.

Empieza por explicarnos claramente cuales son las entidades y las relaciones que hay entre ellas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Duda sobre consulta MySQL

Publicado por Ramiro Mejías Rodríguez ramiro.mejias@gmail.com (5 intervenciones) el 04/04/2016 19:14:21
Gonzalo, muchas gracias por la respuesta. He aquí algunas aclaraciones al respecto para que pueda entender.
La segunda tabla está relacionada con la primera a través del campo protype, es decir, en ese campo se almacena el id del tipo de proceso de la primera tabla.
Lo que se quiere obtener como resultado de la consulta, es un listado con los tipos de proceso que se encuentran en la segunda tabla y la cantidad de los desarrollados por año; tal y como se muestra en la tabla 3.
Quedo en espera de sus valoraciones al respecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre consulta MySQL

Publicado por DAVID (63 intervenciones) el 06/04/2016 09:34:53
Hola buenas,

creo que con un simple inner join podrías sacar los datos que están en ambas tablas.

Un saludo,
David
paginas web economicas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre consulta MySQL

Publicado por Ramiro Mejías Rodríguez ramiro.mejias@gmail.com (5 intervenciones) el 10/04/2016 14:44:10
Amigo, creo que no es muy sencillo, ya lo he intento.
Pudieras proponerme a través de una consulta la idea que tienes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar