Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/06/2010, 15:16
monokote
 
Fecha de Ingreso: marzo-2008
Mensajes: 100
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: no hace caso a condición

Gracias por contestar, soy consciente de que la consulta es enrevesada y poco eficiente, pero soy absolutamente autodidacta y tengo miles de vicios cogidos y malas prácticas de programación, por eso me pasan estas cosas.

En cuanto a la estructuras están creadas con phpmyadmin, te pongo los campos y explico un poco lo que pretendo:

Tabla misiones
mn varchar(40) Primary Key
design varchar(40)
ot varchar(40
mtgt varchar(40)
mc varchar(40)
tmc varchar(40)
mresult varchar(10)
qf smallint(2)
dd varchar(40)
mtask varchar(10)

Tabla disparos
nick varchar(40)
mn varchar(40)
points int(15)
stat varchar(10)
task varchar(10)
fh double(4,2)

Se trata de los siguiente, la tabla misiones almacena misiones de combate en las que participa gente.
La tabla disparos almacena el nick de esa gente y los resultados obtenidos en esas misiones. Un de esos resultados es el "task", que puede ser Succes, Partial o Failed.
La cuestion es que quiero que me cuente el número de misiones en que cada uno de los participantes (nick) a obtenido un task de Partial. EL problema es que no todas las misiones tienen la misma categoria (ot) y quisiera rescatar cuantos "Partial" ha obtenido cada jugador en un determinado tipo de mision, la consulta original, atendiendo al lka condiciond e tipo de mision y atendiendo al resultado task de la tabla disparos era:

SELECT D.nick,SUM(D.points)AS points,
COUNT((SELECT COUNT(*) FROM misiones M WHERE M.mn = D.mn AND M.ot = 'Official 2' GROUP BY M.mn)) 'of2',
COUNT((SELECT COUNT(*) FROM misiones M WHERE M.mn = D.mn AND (M.ot = 'Official 1' OR M.ot='Official 1-1' OR M.ot='Official 2' OR M.ot='Official 2-2' OR M.ot='111 Sqdn Campaign' OR M.ot='International' OR M.ot='International Campaign') AND D.task='Partial' GROUP BY M.mn)) 'ofpartial'
FROM disparos D GROUP BY D.nick

Gracias nuevamente, (por cierto, ahora que he verbalizado realmente el problema, creo que se me ha ocurrido como simplificarlo bastante) en cualquier caso, gracias de nuevo!!

Por cierto, esta DB gestiona un aplicacion en flex a la que puedes echar un vistazo en http://www.escuadron111.com/web/falc.../ROSTER20.html

Última edición por monokote; 26/06/2010 a las 15:26