
02/08/2004, 03:26
|
| | Fecha de Ingreso: junio-2004 Ubicación: Castellón, España
Mensajes: 98
Antigüedad: 20 años, 8 meses Puntos: 0 | |
Esto se hace utilizando los argumentos de la cláusula FROM: INNER JOIN: Especifica que se devuelven todos los pares de filas coincidentes. Descarta las filas no coincidentes de las dos tablas. Éste es el valor predeterminado si no se especifica ningún tipo de combinación. LEFT JOIN: Especifica que todas las filas de la tabla izquierda que no cumplan la condición de combinación se incluyan en el conjunto de resultados, con las columnas de la otra tabla establecidas en NULL, además de todas las filas devueltas por la combinación interna. RIGHT JOIN:Especifica que todas las filas de la tabla derecha que no cumplan la condición de combinación se incluyan en el conjunto de resultados, con las columnas de la otra tabla establecidas en NULL, además de todas las filas devueltas por la combinación interna. CROSS JOIN: Especifica el producto resultante de dos tablas
Aplicando estos conceptos la consulta anterior, para mostrar todos los registros de la tabla clientes quedaría de la siguiente forma: SELECT clientes.rut_cliente, clientes.nombre_cliente, cns.SMonto FROM clientes LEFT JOIN (SELECT rut_cliente, sum(monto) AS SMonto FROM operaciones WHERE estado ='operacion' GROUP BY rut_cliente) cns ON clientes.rut_cliente=cns.rut_cliente
Última edición por Atzeneta; 02/08/2004 a las 06:10 |