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. -- Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15' 24.7" "Porque francamente, si para saber manejarse a uno mismo hubiera que rendir examen... ¿Quién es el machito que tendría carnet?" (Mafalda) -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
