Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Por favor si me pueden ayudar! (https://www.clubdelphi.com/foros/showthread.php?t=23692)

Petolansa 25-07-2005 21:17:11

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

Johnny Q 25-07-2005 22:41:00

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.

Petolansa 25-07-2005 23:24:51

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

Johnny Q 25-07-2005 23:31:48

prueba colocando un DISTINCT asi:

SELECT DISTINCT TOP n .... el resto de la instrucción

hector.roma 25-07-2005 23:56:08

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.

Johnny Q 26-07-2005 00:13:22

Sabes que si hector, excelente tu acotación. Claro esta, sobre el JOIN y no sobre tus inclinaciones políticas:D.

Petolansa 26-07-2005 04:48:51

Gracias Gente
 
Gracias por la ayuda, les agradezco, y por ahi voy a necesitar ayuda en un futuro no muy lejano...


La franja horaria es GMT +2. Ahora son las 00:16:48.

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