FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consulta sql sobre campos calculados
Hola amigos, como hago para filtrar un campo calculado de un query?
Ejm: Query3.close; Query3.sql.Clear; Query3.sql.add('SELECT *'); Query3.sql.add('FROM PgmCosecha A, Suertes B, Fincas C, Variedades D, CalleVias E'); Query3.sql.add('WHERE A.CodFin = B.CodFin'); Query3.sql.add('AND A.CodSue = B.CodSue'); Query3.sql.add('AND A.CodFin = C.CodFin'); Query3.sql.add('AND B.CodFin = C.CodFin'); Query3.sql.add('AND B.CodVia = E.CodVia'); //Tch if length(Edit12.text) > 0 then Query3.sql.add('AND TCHSUE >= '''+Edit12.text+''''); Query3.open EL campo TCHSUE es un campo calculado y da el mensaje: TCHSUE, columna desconocida
__________________
Carlos A. Ortega Rios |
#2
|
||||
|
||||
No te va a funcionar porque no te puedes referir a un campo calculado, que se va a armar en tiempo de ejecución.
Código:
Select Nombre,cpostal+poblacion as nuevo from Clientes where cpostal+poblacion = '33201GIJON' Un Saludo. |
#3
|
||||
|
||||
Hola,
si por campo calculado entiendes un campo calculado de la VCL que toma su valor en un evento OnCalcFields de un descendiente de TDataSet, lamento decirte que lo que quieres hacer es imposible, dado que en un Query solo puedes hacer referencia a campos físicos. Es lógico, pues piensa que los campos calculados se calculan después de ejecutar la sentencia SQL y a partir de los valores que se obtienen puedes calcularlos. De todos modos si tu campo calculado es simple puedes hacer una cosa... Imaginate que tienes una tabla de facturas. El total de la factura se obtiene de sumar la suma de los conceptos más los impuestos. Pues bien, eso se podría hacer en un CalcFields: Código:
FieldByName('Total').AsFloat:= FieldByName('SumaConceptos').AsFloat + FieldByName('Impuestos').AsFloat Código:
SELECT F.*, (SumaConceptos + Impuestos) AS Total FROM Facturas F WHERE SumaConceptos + Impuestos >= 1000 Espero que te haya servido de ayuda. Saludos. EDIT: Marcos, te me has adelantado por muy poco |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|