Seleccionar registros de una tabla excluyendo otros


([N3] blanyi) #1

Buenos días a todos, Dios los bendiga.
Tengo una inquietud.
Tengo una tabla llamada EMPRESAS y otra tabla llamada EMPRESAS_CONVENIO la cual contiene un enlace a la tabla Empresas, en esta segunda tabla están aquellas empresas con las cuales se tienen algunos convenios, con algunos otros datos en particular del convenio. En un formulario el usuario debe seleccionar un registro de empresa_convenio y luego de la tabla empresas seleccionar también un registro.
Lo que quiero es que cuando vaya a seleccionar de la tabla empresa solo le muestre los registros que no tienen convenio, como hago esto en Velneo?.
Si usuara mysql lo haría así:
SELECT name FROM empresas WHERE id NOT IN (SELECT id_empresa FROM empresas_convenio)
El resultado de este select lo pondría en un combobox o en una lista y de ahí el usuario seleccionaría la empresa que necesita y que no es una de las que están en el convenio.
Gracias a todo aquel que me pueda ayudar.

Yimy Mora A


([N1] Pepeto) #2

Tienes varias formas de resolver el problema:

1. Con actualizaciones:
Creas una actualizacion en la tabla convenios para que acumule el valor 1 en la tabla Empresas (en el campo #NRO_CON) por cada convenio. De esta forma podras buscar luego en la tabla empresas, aquellas cuyo valor en el campo #NRO_CON = 0

2. Con cestas:
Creas una cesta de empresas, y cargas la lista de empresas completa en la cesta. Luego buscas todos los convenios y cagas los maestros de empresas, y la lista resultante la "Quitas" de la cesta. Y como resultado en la cesta, tendras aquellas empresas que no tienen convenio. Finalizas procesando la cesta y retornando la lista a la salida

Aqui tienes 2 formas de hacerlo, pero se puede hacer de otras formas.

un saludo
José Luis
http://www.ascsl.com