FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
ayuda con ibquery
hola a todos, trabajo con delphi 6.0 los comonentes de interbase y firebird 1.5, hago una consulta en un ibquery, luego otra consulta en otro ibquery, hay forma de unir o hacer un select a partir del resultado de los select que estan en los ibquery???? por ejemplo,
Código:
select * from "ibquery1" where fecha:=parfecha y que ibquery1 no sea una tabla, si no una consulta que hice desde delphi por ejemplo Código:
ibquery2.sql.add('select * from "ibquery1" where nombre='+quotedstr(edit1.text)+''); una locura mia.... ok yo se que el quotestr es para obtener el string de un componente o variable, pero por casualidad no abra un comando para que entienda el el ibquery como una tabla o algo.... lo intente con un procedimiento, pero me devuelve un solo registro y desde delphi me dice que hay multiple registros, asi que no me sirve |
#2
|
||||
|
||||
Hola Carlos!
¿Has intentado hacer una vista? Cita:
¿Cómo es la consulta que muestras en IBQuery1? Seguramente hay muchas alternativas para resolver lo que planteas, si proporcionas un poco más de información es más probable que obtengas una respuesta favorable. Saludos |
#3
|
|||
|
|||
y por qué no pruebas hacer una sola consulta con las dos tablas que estás accesando por separado?
Saludos. |
#4
|
||||
|
||||
bueno, el procedimiento o hice por ibexpert, colocando unas variables de entrada y otra de salida, llame el procedimiento desde un query con sql como si fuera una tabla normal...
Código:
select * from new procedure...... tengo 2 tablas en una datos que tengo nombre, apellido y codigo y en la otra tabla horas que tiene horaentrada, horasalida, fecha, codigo, lo unico comun es codigo, aja ahora bien, necesito sacar ejemplo del daepartamento de nomina que son 10 personas la 1 hora de entrada y la ultima de salida(que lo hice con min y max) pero de una persona y eso es lo que veo. ahora necesito las 10 juntas para un reportes tomando los nombre de la tabla datos, y las horas de entrada y salida de la tabla horas(y en esta ultima se hace el calculo respectivo) e alli unir 2 query.... y si me explica lo de la vista a ver si me funciona ahorita intento lo que sea... agradezco cualquier ayuda |
#5
|
||||
|
||||
Hola Carlos!
No sé si entendí bien, prueba con esta consulta a ver que resulta
Saludos |
#6
|
||||
|
||||
ya lo habia hecho
hice un select parecido por no decir identico, y si lo hace, muestra todo, pero cuando hago un order by me duplica todos los registros.....
|
#7
|
||||
|
||||
¿En base a qué campo estas ordenando?
¿Podrías mostrarnos cómo realizas tu consulta? Saludos |
#8
|
||||
|
||||
codigo
los parametros son ubicacion y fecha, si no le coloco el order by lo hace pero todo desordenado, y con el order bey los duplica y se vuelve loco..... |
#9
|
||||
|
||||
Algo está mal en la agrupación
No deberías mostrar el campo hora de entradas h.he en la consulta si es que vas a obtener un calculado del mismo en este caso min(h.he) Es por eso que te repite los registros. ¿Cuál es la finalidad de mostrar este campo?, en caso de que sea necesario mostrarlo, ¿Cuál de todas las horas de entrada quieres mostrar cuando hagas la agrupación? Saludos |
#10
|
||||
|
||||
volviendo otra vez yo
aja y volviendo a la pregunta original(sigo de ladilla) no hay forma de manejar un ibquery(los registro desvueltos) como si fuera una tabla.. es por ejemplo hacerle un select al ibquery1 pero por el ibquery2
esto iria en el ibquery2
|
#11
|
||||
|
||||
bueno, por ejemplo, son 10 persona en un departamento, y necesito la 1 entrada y ultima salida de cada una.... en la tabla hora estan todas las horas por eso es que uso el min y el max... y por supuesto necesito ver las 10 personas que esten en un mismo departamento...
|
#12
|
||||
|
||||
Con respecto a la pregunta original, en la versión 2.0 de Firebird existen las Derived
Tables con esto puedes hacer lo que planteas. Para las versiones anteriores, seguro que se puede lograr con procedimientos almacenados. Saludos |
#13
|
||||
|
||||
¿Lo has intentado quitando el campo h.he?
|
#14
|
||||
|
||||
listo
hector, con lo del 1 ya se soluciono lo de los registeros duplicado, y lo que hice para terminar el codigo le agregue un left join para mostrar a todo el mundo de personal.... ey hermano altamente agradecido a y una pregunta final porque con el 1(numero de columna) no se duplica, y si pongo h.he si se duplica?????
|
#15
|
||||
|
||||
En tu sentencia estas indicando que agrupe con respecto a tres campos:
(codigo,nombre,apellido) todas las tuplas que coincidan en estos tres campos serán agrupadas por ejemplo Código:
codigo nombre apellido he ===== ===== ======= ==== 1 carlos hernandez 1 1 carlos hernandez 2 1 carlos hernandez 4 1 carlos hernandez 2 ------------ grupo 1 ------------ 2 hector randolph 6 2 hector randolph 1 2 hector randolph 1 2 hector randolph 2 2 hector randolph 5 ------------ grupo 2 ------------ Código:
codigo nombre apellido MIN(he) ===== ===== ======= ==== 1 carlos hernandez 1 2 hector randolph 1 (codigo,nombre,apellidos,he) Todas las tuplas que coincidan en estos cuatro campos serán agrupadas Código:
codigo nombre apellido he ===== ===== ======= ==== 1 carlos hernandez 1 ------------ grupo 1 ------------ 1 carlos hernandez 2 1 carlos hernandez 2 ------------ grupo 2 ------------ 1 carlos hernandez 4 ------------ grupo 3 ------------ 2 hector randolph 6 ------------ grupo 4 ------------ 2 hector randolph 1 2 hector randolph 1 ------------ grupo 5 ------------ 2 hector randolph 2 ------------ grupo 6------------ 2 hector randolph 5 ------------ grupo 7 ------------ Código:
codigo nombre apellido he MIN(he) ===== ===== ======= ==== ===== 1 carlos hernandez 1 1 1 carlos hernandez 2 2 1 carlos hernandez 4 4 2 hector randolph 6 6 2 hector randolph 1 1 2 hector randolph 2 2 2 hector randolph 5 5 Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Refresh de un IBQuery | perillan | Conexión con bases de datos | 1 | 28-08-2005 20:43:12 |
Filter en IBQuery | StartKill | Firebird e Interbase | 1 | 27-08-2005 06:51:06 |
IBUpdateSQL - IBQuery | dmagui | Firebird e Interbase | 3 | 11-07-2005 16:59:54 |
IBdataset y IBQuery | vtdeleon | Firebird e Interbase | 2 | 17-05-2005 22:05:29 |
IBQuery y Rave | pkbza | Conexión con bases de datos | 0 | 13-08-2004 23:35:56 |
|