![]() |
seleccionar solo un registro
Hola Espero expliacrme bien y ke me peudan ayudar .
Necesito seleccionar de la tabla factura los productos ke se han vendido pero no tadas las veces ke se an facturado ejemplo: Tf_detalle Factura Producto Desc1 cant 0002 21062570 mesa 1 0003 21062593 silla azul 4 0003 21062570 mesa 1 0004 21064530 sillon 2 0005 21062570 mesa 1 0005 21062593 silla azul 4 seleccionar los productos ke se an vendido con la descripcion 21062570 mesa 21062593 silla azul 21064530 sillon he intentado hase una consulta SELECT distinct Producto from tf_detalle pero unicamente me muesta el numero del producto y yo necesito ke me muestre el numero y la descripcion. cabe señalar ke las sillas son iguales y solo cambian el color, para mi son la misma puesto ke el usuario solo agrega el color de esta en la factura, teniendo asi el mismo numero de producto espero me entiendan y me puedan ayudar |
|
He intentado pero me muestra este error
"When GROUP BY exists, every simple field in projectors must be in GROUP BY" |
Cita:
// Saludos |
si se hubiese vendido
factura producto desripcion 0002 21062593 silla azul 0003 21062593 silla blanca 0004 21062570 Mesa 0004 21062593 silla blanca me seleccionara 21062593 silla azul 21062593 silla blanca 21062570 mesa para mi eso es incorrecto porke las dos sillas utilizan el mismo numero de producto yo solo necesitaria ke me diera 21062593 silla azul 21062570 mesa |
Bueno, pero entonces queda poco claro cómo haría (el motor o tú misma) para seleccionar los registros. Esto es, con base en qué se decide, de entre los registros que contienen "silla", cuál tomar.
Dicho de otra forma, del último ejemplo que pones, dices necesitar: 21062593 silla azul 21062570 mesa como resultado, pero igualmente válido sería 21062593 silla blanca 21062570 mesa De ser posible, ese atributo color que pone el usuario debería estar en otro campo. // Saludos |
Es verdad no lo habia visto desde ese punto.
Tendre ke encontrar otra forma de obtener lo ke necesito agradesco su ayuda muchas gracias |
Supongo que en algún lado tienes una tabla productos con el código y su descripción; de lo contrario podrías crearla a manera de catálogo. Con ella podrías armar la consulta:
Claro que la tabla productos, ésa sí, contendría sólo "silla" y no "silla blanca". O bien, simplemente haces el select distinct producto y ya en delphi agregas un campo calculado que ligue con la tabla de productos para mostrar la descripción. // Saludos |
Podria Funcionar....
Si dices que el atributo Color es especificado por el usuario,el cual no tengo idea de dónde se está almacenando, si es que se almacena, puedes crear un DBLookUpCombobox de los colores, de esa manera puedes pasar parámetros al momento de la búsqueda. A ver si me explico mejor.
Se crea un nuevo campo en el componente TTable de tipo String y en el TypeField LookUp, que te devuelva los colores...y luego, en tu consulta puedes poner: Select *from Tabla where Producto=:entrada and Color=:entrada2 Donde, los parámetros de entrada serían Silla y Azul....(Producto y Color)... empleando para el evento que lance la búsqueda: Query1.Close; Query1.ParamByName('entrada').AsString:=trim(Edit1.Text) Query1.ParamByName('entrada2').AsString:=trim(DBLookUpCombobox1.Text) Query1.Open; suponiendo que llamaras a una sola tabla si fuera a dos tablas pues sólo cambiaría el texto de la Consulta... Espero que eso fuera un procedimiento Alterno...que pudiera funcionarte, siempre y cuando se almacenen el atributo "COLOR".... |
La franja horaria es GMT +2. Ahora son las 12:57:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi