Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta en Sql (https://www.clubdelphi.com/foros/showthread.php?t=37784)

leodelca23 22-11-2006 23:17:25

Consulta en Sql
 
Hola a todos necesito saber como se hace una consulta. Creo que es dificil pero para ustedes le parecera facil.
Bueno la cosa es asi Tengo Una Factura y el Detalle.
Código SQL [-]CREATE TABLE "DETALLE" ( "IDDETALLE" INTEGER, "IDPRODUCTO" INTEGER NOT NULL, "CANTIDAD" FLOAT NOT NULL, "IDFACTURA" INTEGER NOT NULL, "PRECIO" FLOAT, "DESCUENTO" FLOAT );

Código SQL [-]CREATE TABLE "FACTURA" ( "IDFACTURA" INTEGER NOT NULL, "IDCLIENTE" INTEGER NOT NULL, "PAGO" VARCHAR(15) NOT NULL, "FECHA" DATE NOT NULL, "TOTAL" FLOAT NOT NULL, "DESCUENTO" FLOAT, "ESTADO" VARCHAR(15), PRIMARY KEY ("IDFACTURA") );

Código SQL [-]CREATE TABLE "PRODUCTO" ( "IDPRODUCTO" INTEGER NOT NULL, "CANTIDAD" FLOAT NOT NULL, "DESCRIPCION" VARCHAR(35) NOT NULL, "BODEGA" FLOAT, "PRECIO" FLOAT NOT NULL, "TRANSICION" FLOAT, "PRECIOCOSTO" FLOAT, PRIMARY KEY ("IDPRODUCTO") );


Esas son las tablas que tengo .
Estoy utilizando esta sentencia:
Código SQL [-]SELECT * FROM (Detalle INNER JOIN Factura ON Detalle.idfactura = Factura.idfactura)


Pero me gustaria que me mostrara en vez del idProducto la descripcion del producto. No se Como lo tengo que hacer ya que quiero hacer filtros apartir de algun producto. Por ejemplo buscar todos los clientes que han comprado cierto producto o algo a si.

Muchas Gracias por su ayuda. Saludos

luisgutierrezb 22-11-2006 23:24:16

Código SQL [-]
SELECT Detalle.*, Producto.Descripcion FROM Detalle INNER JOIN Factura ON Detalle.idfactura = Factura.idfactura INNER JOIN Producto ON Producto.idProducto = Detalle.idPRoducto

leodelca23 22-11-2006 23:30:07

Perfecto funciono y si tambien quisiera poner el Nombre de cliente como debo hacerlo probe lo siguiente pero no funciono
Código SQL [-]
SELECT (Detalle.*, Producto.Descripcion ,Cliente.nombre) FROM Detalle INNER JOIN Factura ON Detalle.idfactura = Factura.idfactura INNER JOIN Producto ON Producto.idProducto = Detalle.idPRoducto

Muchas Gracias

luisgutierrezb 23-11-2006 01:23:21

muy simple, aqui te falta el inner join para los clientes, suponiendo que tu tabla se llama clientes y el campo llave de esta es idCliente, entonces a tu instruccion que no te funciono agregale al final:

INNER JOIN Clientes ON Clientes.idCliente = Factura.idCliente

te quedaria algo asi como:
Código SQL [-]
SELECT (Detalle.*, Producto.Descripcion ,Cliente.nombre) 
FROM Detalle 
INNER JOIN Factura ON Detalle.idfactura = Factura.idfactura 
INNER JOIN Producto ON Producto.idProducto = Detalle.idPRoducto
INNER JOIN Clientes ON Clientes.idCliente = Factura.idCliente

leodelca23 23-11-2006 01:38:43

Hice lo que me dijiste y me sale un error
Código SQL [-]
SELECT (Detalle.*, Producto.Descripcion ,Cliente.nombre)
FROM Detalle
INNER JOIN Factura ON Detalle.idfactura = Factura.idfactura
INNER JOIN Producto ON Producto.idProducto = Detalle.idPRoducto
INNER JOIN Cliente ON Cliente.idCliente = Factura.idCliente

y me sale este error :

Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 18
,
Statement: SELECT (Detalle.*, Producto.Descripcion ,Cliente.nombre)
FROM Detalle
INNER JOIN Factura ON Detalle.idfactura = Factura.idfactura
INNER JOIN Producto ON Producto.idProducto = Detalle.idPRoducto
INNER JOIN Cliente ON Cliente.idCliente = Factura.idCliente


La franja horaria es GMT +2. Ahora son las 06:05:40.

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