Bases de Datos - Super query reto a quien lo resuelva, si pueden ja

 
Vista:

Super query reto a quien lo resuelva, si pueden ja

Publicado por Fermin Pitol (2 intervenciones) el 11/09/2008 17:43:48
Haber señores tengo esteproblema que ya me ha dado dolores de cabeza, se tiene la tabla siguiente

sucursal dependencia quincena
1 171 1
1 171 1
1 171 5
1 171 1
1 171 1
1 171 1
2 187 1
2 187 1
2 187 4
2 185 1
2 185 1
2 185 1
3 187 1
3 187 1
1 171 1
1 172 1
1 172 2
1 172 1

ok el detalle es este necesito un query solo me arroje los dos primeros datos rpetidos de sucursal y dependencia es decir, de la tabla anterior el resultado deberia ser el siguiente:

sucursal dependencia quincena
1 171 1
1 171 1
2 187 1
2 187 1
2 185 1
2 185 1
3 187 1
3 187 1
1 172 1
1 172 2

si, el campo quincena relamente no importa en lo mas minimo, solo me debe encontrar u ordenar los datos por dependencia y sucursal y damre los primeros dos de cada uno de estos subgrpitos por llamarlos de alguna forma, la tabla es unica y se necesita sea en un query, dejo esto al habil programador , ya que lo considero un reto no apto para novatos

si tienen la solucion por favor envienmenla al correo pitol_sagitario_v1 en hotmail

de antemano gracias por su pronta respuesta y a pensarle
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

anexos

Publicado por Fermin pitol (2 intervenciones) el 11/09/2008 17:48:27
ok por problemas de visualizacion la tabla debio haberse visto de esta forma
sucursal dependencia quincena
1-------------- 171 -------------1
1-------------- 171-------------- 1
1-------------- 171 -------------- 5
1-------------- 171-------------- 1
1-------------- 171 -------------- 1
1-------------- 171-------------- 1
2-------------- 187 -------------- 1
2 -------------- 187 -------------- 1
2 -------------- 187-------------- 4
2-------------- 185-------------- 1
etc etc etc el primer numero corresponde a la sucursal, los siguientes tres a la dependencia y el ultimo a la quincena

la tabla no esta relacionada con ninguna otra y esta en postgress, no importando si lo solucionan con mysql, sql server u oracle lo de menos esadaptarlo jejejejeje

bueno señore a ver quien si es bueno en sql jejejejeje
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

RE:anexos

Publicado por Franklin Gamboa (188 intervenciones) el 12/09/2008 16:50:20
No voy a poner el query completo (honestamente me da p[ereza hacerlo), pero te voy a decir como debes hacerlo para lograr tu objectivo.

1. haces el select *, le pones tbn un count(*) as cantidad y lo agrupas por los tres campos, esto apra hacer que los campos repetidos devuelvan 2
2. luego, haces que esa consulta sea la subconsulta de la que realmente nos va a dar los datos.
3. a la que nos va a dar los datos, le pides los datos que quieres que te de y le pones una clausula en el where que diga que la cantidad es mayor a dos, eso te va a dar la lista de los que se repiten.

Eso te va a devolver solo un registro por dato repetido, si es un requisito tener ambos registros, deveras poner todo esto como subquery y en el where poner que cada uno de los registros de tu tabla sea iguales a los que devuelve la anidada
(where a.sucursal = tmp.sucursal and a.quincena= tmp.quincena and a.dependencia = tmp.dependencia)

estoy seguro que ese query va a funcionar bn, y estoy seguro que puede ser optimizado para no requerir tantos subquerys, pero eso podras hacerlo tu con base a como se comporta el query.
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