Problema en consulta

01/02/2006 - 14:30 por Penta | Informe spam
Estimados.
Tengo una consulta simple que me devuelve 100 registros, pues bien a
dicha consulta necesito agregarlo una columna extra, el problema es que
en la tabla que esta el registro puede estar N veces, de esas N veces
yo necesito mostrar dicha columna o dato si asi se desea solo cuando el
codigo buscado sea = 1 , dado que esta N veces los registros me
aumentan considerablemente digamos unas 4 veces mas.

Ejemplo :

Tengo :

1 PROVEEDOR , aca deseo agregar la columna pago, y esta esta en la
tabla PAGOS, donde el codigo 1 esta :

1 Contado
2 Credito
3 Tarjeta

Bueno necesito que quede asi :
1 PROVEEDOR Contado

ya que deseo que me muestre esa columna cuando sea Contado, pero si no
se encuentra dicho dato quiero de todas formas mis 100 registros.

Gracias por su ayuda.
 

Leer las respuestas

#1 Guillermo Roldan
01/02/2006 - 14:56 | Informe spam
Hola Penta,

Te hace falta realizar una consulta del tipo LEFT OUTER JOIN, como mucho,
realizado entre una tabla y una "tabla derivada".

Si conoces el diseñador de consultas de Microsoft Acces, resulta muy cómo
utilizar el Administrador Corporativo para crear una vista en plan "gráfico",
es decir, añadiendo las dos tablas, relacionándolas, especificando en la
relación eso "dame todos los registros de esta tabla.. y los que coincidan de
esta otra", y seleccionando las columnas deseadas, así como condiciones
where, group by, having y order by... como ves, muy completo.

A contienuación, puedes "copiar y pegar" el código que te genera, y ya si
eso lo tabulas a tu gusto y lo incorporas en tu procedure, vista, report,
aplicación o lo que fuere.

No obstante, te adelanto que el código que buscas tiene pinta (por lo que me
ha parecido entenderte) de ser algo así:

SELECT dbo.Employees.EmployeeID, dbo.EmployeeTerritories.TerritoryID
FROM dbo.Employees LEFT OUTER JOIN
dbo.EmployeeTerritories ON dbo.Employees.EmployeeID =
dbo.EmployeeTerritories.EmployeeID

A esta consulta, la puedes añadir una cláusula WHERE, o bien, utilizar en
vez de dos tablas, una tabla y una "tabla derivada", es decir, una tabla y
una consulta.

Espero esto te pueda ayudar.

Saludos,
Guillermo

"Penta" escribió:

Estimados.
Tengo una consulta simple que me devuelve 100 registros, pues bien a
dicha consulta necesito agregarlo una columna extra, el problema es que
en la tabla que esta el registro puede estar N veces, de esas N veces
yo necesito mostrar dicha columna o dato si asi se desea solo cuando el
codigo buscado sea = 1 , dado que esta N veces los registros me
aumentan considerablemente digamos unas 4 veces mas.

Ejemplo :

Tengo :

1 PROVEEDOR , aca deseo agregar la columna pago, y esta esta en la
tabla PAGOS, donde el codigo 1 esta :

1 Contado
2 Credito
3 Tarjeta

Bueno necesito que quede asi :
1 PROVEEDOR Contado

ya que deseo que me muestre esa columna cuando sea Contado, pero si no
se encuentra dicho dato quiero de todas formas mis 100 registros.

Gracias por su ayuda.


Preguntas similares