Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 22-11-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 22-11-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 23-11-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 23-11-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 00:42:38.


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
Copyright 1996-2007 Club Delphi