Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta con parametrica duda (https://www.clubdelphi.com/foros/showthread.php?t=68850)

gonza_619 10-07-2010 05:28:08

consulta con parametrica duda
 
hola a todos, estoy haciendo una consulta que dado un numero de socio pueda mostrar las revistas reservadas por el mismo.
bien las tablas son: revistas, reservas y socio
reservas= reserva nº, fecha,cod_socio,cod_revista,cantidad.
socio=cod_socio,nombre,edad.
revistas=numero,nombre,editorial.

Bien yo para esta consulta uso en un form un table (socio), un query, un agrilla para mostrar el resultado, y un dblookupcombobox, donde elijo los nombres de los socios.

Bien la consulta me sale, pero solo muestra la cantidad , la fecha , y el cod de revista por lo cual quisiera mostrar el nombre de las revistas.

Para esto, codifico en el evento del dblookupcombobox lo sig:
var codigo:integer;
begin
codigo:=table1.fieldbyname('cod_socio').asinteger;
query1.close;
query1.ParamByName('dato').AsInteger:=codigo;
query1.Open;

Y en la propiedad SQL del query esto(la consulta en si):
select fecha,cantidad,cod_revista
from reserva
where (cod_socio=:dato) and (cod_revista=:dato1)

mi duda es como muestro el nombre de la revista q reserva el socio, y si tendria que agregar un table de revista y donde modificaria para que me muestre el nombre.
bueno espero que les sea util a otras personas gracias!

A PERDON TAMBIEN UNA SIMPLE INQUIETUD:
COMO PONER UN AOPCION EN UN MENU PARA MOSTRAR LA TABLA ANTERIOR DE DONDE ESTUVE? GRACIAS

cloayza 12-07-2010 15:16:00

Podia ser asi:
Código SQL [-]
//Consulta inicial
SELECT Reserva.Fecha, Reserva.Cantidad, Reserva.Cod_revista
FROM Reserva 
WHERE (Reserva.Cod_socio=: Dato) AND (Reserva.Cod_Revista=: Dto1)

//Incluyendo el nombre de la revista
SELECT Reserva.Fecha, Reserva.Cantidad, Reserva.Cod_revista, Revista.Nombre
FROM Reserva, Revista
WHERE (Reserva.Cod_Revista=Revista.Codigo) AND
          (Reserva.Cod_socio=: Dato) AND (Reserva.Cod_Revista=: Dto1)

///Incluyendo el nombre del Socio y nombre de la revista
SELECT Reserva.Fecha, Reserva.Cantidad, Reserva.Cod_revista, Revista.Nombre, Socio.Nombre
FROM Reserva, Revista, Socio
WHERE (Reserva.Cod_Revista=Revista.Codigo) AND
          Reserva.Cod_Socio=Socio.Cod_Socio) AND
          (Reserva.Cod_socio=: Dato) AND (Reserva.Cod_Revista=: Dto1)

Saludos cordiales

Jac fcc 22-07-2010 20:15:20

o tambien asi;

Código SQL [-]
SELECT Res.Fecha,Res.Cantidad,Res.Cod_revista,Rev.Nombre,Soc.Nombre
FROM Reserva Res
inner join Socio Soc
on Res.cod_socio=Soc.cod_socio 
inner join Revista Rev
on Res.Cod_revista=Rev.numero
WHERE Res.Cod_socio=:Dato AND Res.Cod_Revista=:Dto1
:D


La franja horaria es GMT +2. Ahora son las 01:01:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi