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 25-07-2005
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Angry Por favor si me pueden ayudar!

Buenas a todos....por favor si me ayudan desde ya les agradezco...

* Tengo dos tablas productos y ventas,
En la tabla productos tengo los campos Codipro y Nombre
Y en la de ventas Numfact y codipro
Lo que tengo q hacer es sacar los 20 mas vendidos.
Yo saco los mas vendidos con el TOP de codipro de la tabla ventas y me falta que me muestre a lado el NOMBRE que esta en la tabla de productos. Creeria que tendria que igualar el codipro de la tabla ventas con el codipro de la tabla productos
Lo que no se como hacer es que me aparezcan los campos, CODIPRO de la tabla VENTAS relacionado con el campo NOMBRE de la tabla PRODUCTO.
Estoy trabajando con un query


desde ya muchas gracias gente
Responder Con Cita
  #2  
Antiguo 25-07-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
Buenas tardes,

La instrucción SQL quedaría asi

SELECT TOP 20 a.*, b.nombre FROM VENTAS a INNER JOIN PRODUCTOS b
ON a.codipro = b.codipro

Espero haberte ayudado.

Saludos.
Responder Con Cita
  #3  
Antiguo 25-07-2005
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Va queriendo de a poco

Sabes que me devuelve pero me los repite
o sea si el mas vendido es el producto con codigo 0000005 con 6 veces
me figura 6 veces y asi con los otros, saben porque puede ser esto

Gracias JhonnyQ
Espero si me pueden seguir ayudando
Responder Con Cita
  #4  
Antiguo 25-07-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
prueba colocando un DISTINCT asi:

SELECT DISTINCT TOP n .... el resto de la instrucción
Responder Con Cita
  #5  
Antiguo 25-07-2005
Avatar de hector.roma
hector.roma hector.roma is offline
Miembro
 
Registrado: jul 2005
Ubicación: a caballo entre Galicia y Portugal
Posts: 58
Poder: 19
hector.roma Va por buen camino
yo soy mas de izquierdas...

Otra forma de hacerlo es con LEFT JOIN...
Código SQL [-]
SELECT (...aqui van tus cosas...), Productos.Nombre
FROM Ventas
LEFT JOIN Productos ON (Productos.CodiPro = Ventas.CodiPro)
WHERE (... el resto de tus condiciones...)

De esta forma evitas tener que filtrar la información una segunda vez con el DISTINCT

PD: El titulo del mensaje no refleja mis inclinaciones políticas pues este no es el lugar para expresarlas... en cualquier caso puedo ser de centro, de izquierdas, de derechas... todo depende de la silla en la que me siente.
Responder Con Cita
  #6  
Antiguo 26-07-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
Sabes que si hector, excelente tu acotación. Claro esta, sobre el JOIN y no sobre tus inclinaciones políticas.
Responder Con Cita
  #7  
Antiguo 26-07-2005
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Poder: 19
Petolansa Va por buen camino
Gracias Gente

Gracias por la ayuda, les agradezco, y por ahi voy a necesitar ayuda en un futuro no muy lejano...
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


La franja horaria es GMT +2. Ahora son las 08:30:35.


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