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 26-11-2003
marcelofabiani marcelofabiani is offline
Miembro
 
Registrado: may 2003
Ubicación: Bolivia
Posts: 64
Poder: 22
marcelofabiani Va por buen camino
Consulta Sql

Buenas amigos colisteros tengo la siguiente consulta:

Estoy desarrollado un programa que controle el pago de comisiones a vendedores de unos productos los cuales ganan las comisiones de acuerdo a las personas que tengan bajo su cargo es decir tipo piramide

Ej:

Director
Lider Lider
Supervisor
Vendedor 1 V.2 V.3 ......etc hasta 10

tengo tres tablas que utilizo para sacar las comisiones

usuario(U1): (idusuario,nombres,apellidos,...etc)
usuariorecomendado(R1):(idusuario,idusuariorecoemndado,fecha)
pedido(p1):(idpedido,monto,fecha,idusuario,...etc)

Para sacar las comisiones hice la siguiente consulta:

' SELECT usuariorecomendado.idusuario,pedido.idusuario,(count(pedido.idpedido)*1.5)as num FROM pedido,usuariorecomendado WHERE (pedido.idusuario=usuariorecomendado.idusuariorecomendado) and (usuariorecomendado.idusuario=:param) GROUP BY pedido.idusuario'

COMISION=suma de (# de pedidos por vendedor*1.5)

Con param saco la comision, del que quiero ahora mi problema es que este me saca solo de los que estan abajo es decir si busco de un supervisor me dara todos los que esten abajo de el pero las comisiones las tengo que sacar de los que estan mas abajo aun

sup
v1 v2 v3 v4 <---Hasta aqui me saca la comision con
v5 v6 esa consulta

Como deberia hacer el procedimiento para que despues de ver las comisiones del primer nivel vaya bajando a los otros en este caso incluir v5 y v6.

Espero alguien me pueda dar una pista. Un saludo a todos

Última edición por marcelofabiani fecha: 26-11-2003 a las 02:34:18.
Responder Con Cita
  #2  
Antiguo 12-12-2003
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Estoy usando una BBDD que contiene una estructura parecida, con una tabla de elementos y otra de relaciones entre ellos padre-hijo, sin restricciones.
Pregunté en otro foro - de SQL SERVER concretamente - y me respondieron que la única manera de hacer esto es a manija. Nosotros lo hacemos con un procedimiento almacenado que crea una tabla temporal y va construyendo la jerarquía.
En oracle hay una sentencia CONNECT BY que te lo hace todo automáticamente, devolviendote todo el árbol construido e indicando el nivel que ocupa cada elemento, pero en el resto de RGDB's no conozco nada parecido.

Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
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 15:51:20.


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