
seleccionar todos complejo
Publicado por hola (3 intervenciones) el 27/08/2015 16:30:11
Buenos dias gente.
Tengo las siguientes tablas:
medicamento(id, nombre)
persona(id, nombre)
cliente(id, tipo)
clientepersona(idcliente, idpersona)
empresa(id, nombre, idpersonadueno)
establecimiento(id, idempresa, nombre)
clienteestablecimiento(idcliente, idestablecimiento)
remitosalida(id, numeroremito, serieremito, fecharemito, idcliente)
remitosalidadetalle(idremitosalida, idmedicamento, cantidad)
yo tengo que listar todos los remitos de salidas con su detalle, el medicamnto y el cliente del remito,
el tema que como hay varios cliente no se como hacer, puede llegar a sacar todos los remitos con su detalle, su medicamento y su cliente pero solo de un tipo de cliente (es decir de cliente persona por ejemplo, qie para sacar los datos de la persona hago join con persona).
pero tengo que listar todos los remitos con los clientepersonas y los clienteestablecimiento.
esto lo que yo hago:
select vrsd.rsd_idmedicamento,vresa.resa_fecharemito,vresa.resa_numeroremito,vresa.resa_serie , vrsd.rsd_cantidad, vcli.cli_id,vper.*
from vet_remitosalida vresa,vet_remitosalidadetalle vrsd,vet_cliente vcli, vet_clientepersona vclpe, vet_persona vper,
where
vresa.resa_idcliente = vcli.cli_id
and vcli.cli_id in (
select vclpe2.clpe_idcliente from vet_clientepersona vclpe2 where vclpe2.clpe_idcliente = vclpe.clpe_idcliente
and vclpe2.clpe_idpersona = vper.per_id)
con esto puedo sacar los remitos del clientepersona con los datos de la persona
pero despues de los parentisis le pongo
or (vcli in(aca hago la seleccion con cliente establecimiento, con empresa y con el dueno de la empresa y me tiro muchas filas que no son las que tengo registradas)
Desde ya muchas gracias
Saludos
Tengo las siguientes tablas:
medicamento(id, nombre)
persona(id, nombre)
cliente(id, tipo)
clientepersona(idcliente, idpersona)
empresa(id, nombre, idpersonadueno)
establecimiento(id, idempresa, nombre)
clienteestablecimiento(idcliente, idestablecimiento)
remitosalida(id, numeroremito, serieremito, fecharemito, idcliente)
remitosalidadetalle(idremitosalida, idmedicamento, cantidad)
yo tengo que listar todos los remitos de salidas con su detalle, el medicamnto y el cliente del remito,
el tema que como hay varios cliente no se como hacer, puede llegar a sacar todos los remitos con su detalle, su medicamento y su cliente pero solo de un tipo de cliente (es decir de cliente persona por ejemplo, qie para sacar los datos de la persona hago join con persona).
pero tengo que listar todos los remitos con los clientepersonas y los clienteestablecimiento.
esto lo que yo hago:
select vrsd.rsd_idmedicamento,vresa.resa_fecharemito,vresa.resa_numeroremito,vresa.resa_serie , vrsd.rsd_cantidad, vcli.cli_id,vper.*
from vet_remitosalida vresa,vet_remitosalidadetalle vrsd,vet_cliente vcli, vet_clientepersona vclpe, vet_persona vper,
where
vresa.resa_idcliente = vcli.cli_id
and vcli.cli_id in (
select vclpe2.clpe_idcliente from vet_clientepersona vclpe2 where vclpe2.clpe_idcliente = vclpe.clpe_idcliente
and vclpe2.clpe_idpersona = vper.per_id)
con esto puedo sacar los remitos del clientepersona con los datos de la persona
pero despues de los parentisis le pongo
or (vcli in(aca hago la seleccion con cliente establecimiento, con empresa y con el dueno de la empresa y me tiro muchas filas que no son las que tengo registradas)
Desde ya muchas gracias
Saludos
Valora esta pregunta


0