Consulta por grupos

Iniciado por leliCabello, 6 Octubre 2010, 19:20 PM

0 Miembros y 3 Visitantes están viendo este tema.

leliCabello

qtal amigos, lo q quiero hacer es una consulta hace días y no logro como. En el grid q acontinuacion les muestro, en la columna clientes, se repiten los clientes deacuerdo a las fechas q fueron facturadas, y a la vez el dominio tambien se repite.
Como hago para que en el grid solo me muestre un cliente por factura, el mas reciente q se acaba de hacer y asi tambien me muestre en la columna dominio un solo dominio por cliente, claro q si ese cliente compro 5 dominios diferentes,me muestre los 5 dominios diferente
pero no dominios repetidos.

Angeldj27

Pos haste una consulta filtrando por dominios con group by y las facturas le das un maximo o minimo dependiendo le k te interese


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

leliCabello

un ejemplo de la consulta plss :)

79137913

HOLA!!!

Suponiendo que uses una bd con sql.

http://www.w3schools.com/sql/default.asp

Ahi tenes todo lo que podes necesitar para aprender sql.

Si te cuesta tanto leer, hace un select * form *, volcalo en una matriz y filtralo manualmente vos.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

BlackZeroX

#4
Usa PL-SQL y migralo a un MSHFlexgrid... aqui tienes un ejemplo de lo que mas o menos requieres.



Nota: Si requieres codigo y eso, mejor lee y vienes a que se te guie, ademas de que no somas muy adivinos, requerimos CODIGO para ayudar, ademas de que he visto que solo vienes a pedir y mas a pedir.

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

leliCabello

#5
pz miren lo hize de esta forma:
adoConsulta.RecordSource = "SELECT tipocomprobante,serie,cod_comprobante,fecha,razon,des_servicio,identificador,login,password,fechainicio,fechafin,cod_proveedor, MAX(fecha) FROM vistaFactura WHERE (cod_tipodeservicio=2)and(identificador IS NOT NULL) AND (anulado = 'No') AND identificador like'" & txtDominio.Text & "%' group by razon, identificador"
    adoConsulta.Refresh

y nada me bota error : column 'vistaFactura.tipocomprobante'is invalid en the select list because it is not
contained in either an aggregate function or the group by clause.

BlackZeroX

.
Enviale un MP a "TyFa" es de este foro ( Participdemasiado en este subforo mde vb6 ) ella s eme hace una buena candidata para que preguntes sobre SQL Query... muchos de aqui estamos mas orientados a vb6 puro... y de SQL no sabremos mucho pero siempre esta la indagación en un tema propuesto.

UN CONSEJO para que tu programa sea mas moldeale y dejes a tu jefe contento... crea otro campo, tabla que se yo donde guardes el nombre de las columnas (Obviamente por separado), con su descripción, esto será muy bueno en un futuro, dejando a expancion la BDD... ya tu APP.

ID, CAMPO, DESCRIPCIÓN

Dulce Lunas!¡.
The Dark Shadow is my passion.

BlackZeroX

Cita de: leliCabello en 22 Octubre 2010, 17:27 PM
pz miren lo hize de esta forma:
adoConsulta.RecordSource = "SELECT tipocomprobante,serie,cod_comprobante,fecha,razon,des_servicio,identificador,login,password,fechainicio,fechafin,cod_proveedor, MAX(fecha) FROM vistaFactura WHERE (cod_tipodeservicio=2)and(identificador IS NOT NULL) AND (anulado = 'No') AND identificador like'" & txtDominio.Text & "%' group by razon, identificador"
    adoConsulta.Refresh

y nada me bota error : column 'vistaFactura.tipocomprobante'is invalid en the select list because it is not
contained in either an aggregate function or the group by clause.

segun tu mensaje de error dice que en vistaFactura no hay un campo razon... o algo asi dice tu mensaje de error tampoco es para ser mago!¡.

Dulce Lunas!¡.
The Dark Shadow is my passion.

leliCabello

adoConsulta.RecordSource = "SELECT razon,identificador, MAX(tipocomprobante)AS Tipo,MAX(serie)AS Serie,MAX(cod_comprobante)AS Número, MAX(des_servicio) AS Descripcion, MAX(fechainicio)AS FechaInicio,MAX(fechafin)AS FechaFin, MAX(login)AS Login, MAX(password)AS Password FROM vistaFactura WHERE (cod_tipodeservicio=2)and(identificador IS NOT NULL) AND (anulado = 'No') AND (identificador like'" & txtDominio.Text & "%') group by identificador, razon"
XQ EN ESTA LINEA MAX(des_servicio) AS Descripcion NO MUESTRA LA DESCRIPCION PERO SI ME MUESTRA EN CONSULTAS DEL SQL 2005 :huh: