MySQL - Ayuda con esta consulta por favor

 
Vista:
Imágen de perfil de John
Val: 42
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con esta consulta por favor

Publicado por John (19 intervenciones) el 10/04/2018 16:29:19
Hola amigos, anteriormente en otro tema solicite de su valiosa ayuda con usa consulta que no podia obtener resultados.

con su ayuda la consulta quedo excelente y le hice algunos cambios para mejorar el resultado de mi consulta y me quedo asi

1
2
3
$consulta="select arma,count(*) as cuenta from m_armamento
inner join armamento on m_armamento.id_armamento=armamento.id_armamento
group by arma";

hasta aqui todo perfecto.

pero ahora por ultimo necesito agregar un where, solo que no se si va asi:


1
2
3
$consulta="select arma,count(*) as cuenta from m_armamento
inner join armamento on m_armamento.id_armamento=armamento.id_armamento
group by arma where id_categoria_armamento='C_AR_01'";

o asi:

1
2
3
$consulta="select arma,count(*) as cuenta from m_armamento
inner join armamento on m_armamento.id_armamento=armamento.id_armamento
where id_categoria_armamento='C_AR_01' group by arma";

de ninguna de las 2 maneras me funciona, por lo que obviamente lo tengo mal.

el campo "id_categoria_armamento" esta incluido en la tabla "armamento"
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
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con esta consulta por favor

Publicado por leonardo_josue (414 intervenciones) el 10/04/2018 17:40:15
Hola de nuevo John:

La sentencia WHERE debe de ir antes del GROUP BY, por lo tanto, la segunda consulta es la que debería de funcionar:

1
2
3
4
5
select arma,count(*) as cuenta
from m_armamento
inner join armamento on m_armamento.id_armamento=armamento.id_armamento
where id_categoria_armamento='C_AR_01'
group by arma

Sin embargo nos nos dices en tu post qué error es el que te está arrojando MySQL... podría suponer que se trata de un error de columna ambigua, puedes ejecutar directamente la consulta en una consola de mySQL o en cualquier ID como Workbench, SQLYog, DBeaver o cualquier otro y decirnos qué error marca y por lo pronto, te sugiero colocar antes de cada campo el nombre de la tabla a la que está asociada... en este caso, los campos ARMA e ID_CATEGORIA_ARMAMENTO no especifican a qué tabla pertenecen.

Haz la prueba y nos comentas.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de John
Val: 42
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con esta consulta por favor

Publicado por John (19 intervenciones) el 10/04/2018 18:00:38
hola leonardo_josue, efectivamente tienes razon, este es el error que marcar #1052 - La columna: 'id_categoria_armamento' en where clause es ambigua.
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