Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ayuda con una consulta !!!!

Estas en el tema de ayuda con una consulta !!!! en el foro de Bases de Datos General en Foros del Web. hola... estoy recien aprendiendo lo k es bases de datos y sql asi k necesito su ayuda con esta consultita} ¿cual es el que mas ...
  #1 (permalink)  
Antiguo 13/09/2003, 11:10
 
Fecha de Ingreso: agosto-2003
Ubicación: talcahuano
Mensajes: 39
Antigüedad: 20 años, 9 meses
Puntos: 0
ayuda con una consulta !!!!

hola... estoy recien aprendiendo lo k es bases de datos y sql
asi k necesito su ayuda con esta consultita}

¿cual es el que mas se ha vendido?

aqui van las tablas

cliente(rut_c,nombre)
compra(rut_cliente,cod_producto)
producto(cod_producto,nombre)

las tablas se relacionan asi:
cliente.rut_c=compra.rut_cliente
y
compra.cod_producto=producto.cod_producto

eso seria
si alguien me puede ayudar desde ya graxias
  #2 (permalink)  
Antiguo 13/09/2003, 11:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Te recomendaría usar el inner join..

Checa éste pequeño link

inner join

Espero te sirva.

Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 15/09/2003, 03:38
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Para ver cual es el producto más vendido no hace falta el inner join, si sólo quieres el código, si quieres la descripción con el código si hace falta:

Sólo el código del producto:
Código PHP:
select cod_productocount(*) b
from compra
group by 1
oder by 2 desc 
si además quieres la descripción del producto:
Código PHP:
select cod_productonombrecount(*) b
from compra a
,producto b
where a
.cod_producto b.cod_producto
group by 1
,2
oder by 3 desc 
En ambas instrucciones el producto más vendido es el primer registro. Dependiendo del gestor que uses puedes limitar a que te devuelva sólo una fila. Con mysql sería "limit 0,1".
Espero que te sirva.
  #4 (permalink)  
Antiguo 06/10/2003, 09:29
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
más vendido no hace falta el inner join
Para el ejemplo que citas estoy de acuerdo pero en el otro ejemplo de

Cita:
select cod_producto, nombre, count(*) b
from compra a,producto b
where a.cod_producto = b.cod_producto
group by 1,2
oder by 3 desc
tendría mejor performance si lo haces utilizando Inner join de ésta manera:

Cita:
select cod_producto, nombre, count(*) b
from compra a
inner join producto b
on a.cod_producto = b.cod_producto
group by 1,2
oder by 3 desc

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:18.