sql >> Base de Datos >  >> RDS >> Sqlserver

sql cross join:¿qué uso le ha encontrado alguien?

Un uso legítimo típico de una unión cruzada sería un informe que muestre, p. ventas totales por producto y región. Si no se realizaron ventas del producto P en la región R, queremos ver una fila con un cero, en lugar de simplemente no mostrar una fila.

select r.region_name, p.product_name, sum(s.sales_amount)
from regions r
cross join products p
left outer join sales s on  s.region_id = r.region_id
                        and s.product_id = p.product_id
group by r.region_name, p.product_name
order by r.region_name, p.product_name;