Una pregunta, si quiero hacer un SELECT escogiendo dos campos, tengo obligatoriamente que poner los dos campos en el GROUP BY. A mi no me interesa hacerlo asi, peri si no lo escojo me da un error.
salu2 y gracias
| |||
Re: Problema con SELECT y GROUP BY NO se entiende bien tu duda. Te refieres a algo como: Código PHP: Código PHP: ![]() |
| ||||
Re: Problema con SELECT y GROUP BY Me explicare mejor: quisiera hacer esto: SELECT Fecha, COUNT(*) as Total, MañanaTarde FROM Registro GROUP BY Fecha ORDER BY Fecha Pero me da un error y me dice que si en el SELECT ma aparece MañanaTarde, tambien debe salir en el GROUP BY. Y no me interesa porque entonces la tabla resultante esta separada por Fecha y por MañanaTarde, y solo la quiero separada por Fecha. Si es necesario explico un poco lo que quiero hacer, pero de momento no quiero liaros con una explicacion demasaido pesada si no es necesario salu2 y gracias |
| ||||
Re: Problema con SELECT y GROUP BY Entonces saca el MañanaTarde de tu Query:
Código:
Saludos. SELECT Fecha, COUNT(*) as Total FROM Registro GROUP BY Fecha ORDER BY Fecha |
| ||||
Re: Problema con SELECT y GROUP BY pero entonces aqui es donde tengo el problema, que la lista me queda separada por los dos campos que he puesto en el group by, y yo no quiero esto. Imagina que quiero hacer una lista de fechas con por ejemplo los coches que se han reparado, si estuviesemos haciendo una web para un taller. Cada fecha tiene coches reparados por el turno de mañana y por el turno de tarde. Yo quiero hacer una lista por fechas, con dos columnas que me digan el total de coches reparados por cada turno, por eso necesito hacer el select del campo MañanaTarde. Pero si pongo ese campo en el GROUP BY, entonces la lista se me separa por fechas y por turnos; es decir, me sale dos veces cada fecha, una con los numeros hechos por el turno de mañana y otro con los numeros hechos por el grupo de tarde, cosa que no quiero. No se si me explico. Se puede solucionar de algun modo? salu2 y gracias |
| ||||
Re: Problema con SELECT y GROUP BY Entonces hazlo mas sencillo, primero selecciona el turno de la mañana y luego el de la tarde, asi puedes imprimir dos listas:
Código:
Saludos. SELECT Fecha, COUNT(*) as Total FROM Registro WHERE MañanaTarde='Mañana' GROUP BY Fecha ORDER BY Fecha SELECT Fecha, COUNT(*) as Total FROM Registro WHERE MañanaTarde='Tarde' GROUP BY Fecha ORDER BY Fecha |
| ||||
Re: Problema con SELECT y GROUP BY Cita: el problema es que luego tengo un bucle while con el que usi una odbc para leer uno de los datos conseguidos de la tabla, y si hicera dos selec necesitaria dos bucles, con lo que se me complicaria mucho la cosa. lo estudiare
Iniciado por GatorV ![]() Entonces hazlo mas sencillo, primero selecciona el turno de la mañana y luego el de la tarde, asi puedes imprimir dos listas:
Código:
Saludos.SELECT Fecha, COUNT(*) as Total FROM Registro WHERE MañanaTarde='Mañana' GROUP BY Fecha ORDER BY Fecha SELECT Fecha, COUNT(*) as Total FROM Registro WHERE MañanaTarde='Tarde' GROUP BY Fecha ORDER BY Fecha salu2 y gracias |
| ||||
Re: Problema con SELECT y GROUP BY Cita: Sin el GROUP BY no me deja hacer el COUNT, no es asi?Yo creo que la unica forma de solucionar esto sera no al hacer el select sino al escribir la tabla. Es decir, yo hago primero un select, luego creo un bucle while coge uno a uno los valores obtenidos en el select y los mete en una celda de una tabla html para mostrarla por web. Asi que imagino que la unica solucion sera apañarlas para que en lugar de escribir linea a linea, se detecte que lo que se va a escribir pertenece a la misma fecha que el valor obtenido anteriormente y se escriba sumado a lo anterior, en lugar de en una nueva linea. Aunque aun tengo que pensar bien como hacerlo salu2 y gracias por todo |