SoloCodigo
Bases de Datos => Oracle => Mensaje iniciado por: quickdunk en Domingo 8 de Abril de 2007, 03:54
-
Esta pregunta me es confusa y me gustaría saber si alguien puede darle solucion, el script de la BD la adjunto.
Hay tablas:
CLIENTE
VENDEDOR
PRODUCTO
PEDIDO
PEDIDETALLE
"Mostrar los clientes mostrando los siguientes datos codigo de cliente, apellidos y nombres, nombre de tipo de cliente incluyendo a aquellos clientes que no tienen asignado un tipo de cliente."
Yo he hecho esto pero aun así se repiten los q no tienen codigo de tipo de cliente
SELECT C.CLIE_CODIGO,C.CLIE_APEPAT,C.CLIE_APEMAT,C.CLIE_NOMBRE,NVL(TO_CHAR(T.TIPOCLI_NOMBRE),'Sin Clasificacion')
FROM CLIENTE C INNER JOIN TIPO_CLIENTE T ON
C.TIPOCLI_CODIGO=T.TIPOCLI_CODIGO OR C.TIPOCLI_CODIGO IS NULL;
-
"Mostrar los clientes mostrando los siguientes datos codigo de cliente, apellidos y nombres, nombre de tipo de cliente incluyendo a aquellos clientes que no tienen asignado un tipo de cliente."
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] C.CLIE_CODIGO,C.CLIE_APEPAT,C.CLIE_APEMAT,C.CLIE_NOMBRE,
NVL(TO_CHAR(T.TIPOCLI_NOMBRE),'Sin Clasificacion')
FROM CLIENTE C, TIPO_CLIENTE T
WHERE C.TIPOCLI_CODIGO=T.TIPOCLI_CODIGO(+) <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Si no lo entiendes averigua que es un Left outer join, o simplemente un outer join, si no entiendes porque no uso la palabra JOIN ni la palabra ON, averigua acerca del standart SQL 87 y SQL 92, este codigo que puse es SQL 87 que es el mas ampliamente extendido y usado a nivel mundial.