jzginez
18-08-2006, 19:39:57
Hola amigos nuevamente solicitando su valiaza ayuda, espero que este hilo este en el foro que le corresponde, les explico estoy trabajando con delphi 7, firebird 1.5 las fibplus para conectarme, en mi base de datos tengo dos tablas:
Tabla: Clientes
Estructura:
ID - Autonumerico
Nombre - VarChar(90)
id_Clasificacion - Entero
etc - (Demas campos del expediente)
Tabla: ClasifClientes
Estructura
ID - Autonumerico
Descripcion - (Bueno, Malo, Regular, No se factura, etc)
ya en delphi uso un pFIBDataSet (al caso igual que un IBDataSet) donde escribo la siguiente consulta
Select
Clientes.ID,
Clientes.Nombre,
ClasifClientes.Descripcion
From Clientes
inner join ClasifClientes on (ClasifClientes.id = lientes.id_ClasifClientes)
muestro los datos en un dbgrid y todo funciona bien, ahora lo que estoy haciendo es una forma para agregar un filtro a esta sentencia select, a grandez rasgos leo el listados de campos de pFIBDataSet y el nombre del campo lo agrego a un combobox, con otro combobox selecciono la condición a aplicar y en un edit el valor a buscar quedando mi condición de la siguiente forma
where nombre = 'JUAN'
agrego esta linea a mi sentencia sql y funciona bien, tanto para el campo Nombre como Descripcion, el problema es con el campo ID pues mi condición queda:
Where id = 1
y al agregar la linea a mi sentencia y activar el pFIBDataSet me indica error de ambiguedad (:D creo que asi se escribe) debido a que tanto la tabla Clientes como ClasifClientes tienen un campo ID.
alguien me podria asesorar en como lograr saber el nombre de la tabla de la que estoy tomando el campo en mi sentencia SQL.
ya probe intentando escribir la siguiente sentencia:
Select
Clientes.ID c_id,
Clientes.Nombre c_nombre,
ClasifClientes.Descripcion descripcion
From Clientes
inner join ClasifClientes on (ClasifClientes.id = lientes.id_ClasifClientes)
where c_id = 1
y como era de esperar me indica que el campo c_id no existe
gracias
Tabla: Clientes
Estructura:
ID - Autonumerico
Nombre - VarChar(90)
id_Clasificacion - Entero
etc - (Demas campos del expediente)
Tabla: ClasifClientes
Estructura
ID - Autonumerico
Descripcion - (Bueno, Malo, Regular, No se factura, etc)
ya en delphi uso un pFIBDataSet (al caso igual que un IBDataSet) donde escribo la siguiente consulta
Select
Clientes.ID,
Clientes.Nombre,
ClasifClientes.Descripcion
From Clientes
inner join ClasifClientes on (ClasifClientes.id = lientes.id_ClasifClientes)
muestro los datos en un dbgrid y todo funciona bien, ahora lo que estoy haciendo es una forma para agregar un filtro a esta sentencia select, a grandez rasgos leo el listados de campos de pFIBDataSet y el nombre del campo lo agrego a un combobox, con otro combobox selecciono la condición a aplicar y en un edit el valor a buscar quedando mi condición de la siguiente forma
where nombre = 'JUAN'
agrego esta linea a mi sentencia sql y funciona bien, tanto para el campo Nombre como Descripcion, el problema es con el campo ID pues mi condición queda:
Where id = 1
y al agregar la linea a mi sentencia y activar el pFIBDataSet me indica error de ambiguedad (:D creo que asi se escribe) debido a que tanto la tabla Clientes como ClasifClientes tienen un campo ID.
alguien me podria asesorar en como lograr saber el nombre de la tabla de la que estoy tomando el campo en mi sentencia SQL.
ya probe intentando escribir la siguiente sentencia:
Select
Clientes.ID c_id,
Clientes.Nombre c_nombre,
ClasifClientes.Descripcion descripcion
From Clientes
inner join ClasifClientes on (ClasifClientes.id = lientes.id_ClasifClientes)
where c_id = 1
y como era de esperar me indica que el campo c_id no existe
gracias