Hola Deberian tener tres tablas una tabla que podemos llamarla clientes y otra cliente_juridico y otra cliente_natural, estas dos ultimas son entidad debil de cliente. Explico persona natural en cliente_natural es un ser humano con nombres apellidos y lo que se desee, persona juridica es una empresa en cliente_juridico que son los nombres de las empresas con todos sus datos y si quisieran el nombre que es comun a las dos entidades debiles de clientes lo puedo tener tambien en la tabla clientes en un solo campo para efectos de listados busquedas etc por ej un char(80) ... ahora como se que datos debo pedir cuando se hace input ... entonces pongo un campo tipo de persona 1=natural 2=juridica en la tabla clientes ... y listo el pollo.
Saludos Fernando Lopez Bolivia Santa Cruz de la Sierra El 15 de abril de 2009 13:55, Juan Romero <[email protected]> escribió: > 2009/4/15 Alvaro Herrera <[email protected]>: > > Linos escribió: > > > >> Cuando quiero hacer una consultar a los albaranes de salida donde > muestre el > >> nombre del cliente tengo que hacer o: > >> > >> SELECT cab.numero_albaran, > >> CASE > >> WHEN tipo_cliente = 'CLIENTE' THEN cli.nombre > >> WHEN tipo_cliente = 'CLIENTE EMPRESA' THEN cli_emp.nombre > >> WHEN tipo_cliente = 'CLIENTE GRUPO' THEN cli_grp.nombre > >> ELSE NULL > >> FROM albaran_salida_cabecera AS cab > >> LEFT JOIN cliente AS cli ON cli.id_cliente = cab.id_cliente > >> LEFT JOIN cliente_empresa AS cli_emp ON cli_emp.id_cliente = > cab.id_cliente > >> LEFT JOIN empresa_grupo AS cli_grp ON cli_grp.id_cliente = > cab.id_cliente; > > > > Efectivamente parece que necesitara un poco más de normalización. > > Creo que deberías tener una única tabla de "clientes", que llevara el > > nombre y otros datos comunes; y el resto de los datos podrían ir en una > > tabla diferente con columnas para los datos que son únicos a cada tipo. > > > > Yo tengo una duda similar y quiero ver si entendí: > sugieres que haya una tabla clientes. > y que haya 3 tablas llamadas por ejemplo: cliente_otros_datos , > empresa_otros_datos, empresa_grupo_otros_datos > > ó > > una tabla clientes. > y una tabla clientes_otros_datos que tenga los campos de todos los > tipos pero no nulos? > > Creo que hablabas de la primera opción, pero prefiero estar seguro. > > Cordial saludo, > > Juan Romero > -- > TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo > agradecerán >
