¿ Por qué en una query que tiene un left join, el plan de ejecución ejecuta
un inner join ?.
Obviamente los resultados no son los correctos.
Adjunto la query y el plan de ejecución.
La query
select c.codigoproducto,d.codigoproducto
from componentes c
left outer join historicodosificaciones d on c.codigoformula =
d.codigoformula and c.extension = d.extension and
c.codigoproducto = d.codigoproducto
where c.codigoformula = '412761' and c.extension = '6150' and d.diario =
'24/08/2006' and d.nromezcladia = 107
Plan de ejecución
|--Hash Match(Inner Join,
HASH:([d].[CodigoProducto])=([c].[CodigoProducto]),
RESIDUAL:([d].[CodigoProducto]=[c].[CodigoProducto]))
|--Clustered Index
Seek(OBJECT:([Trazas].[dbo].[HistoricoDosificaciones].[IX_HistoricoDosificaciones]
AS [d]), SEEK:([d].[Diario]='Ago 24 2006 12:00AM' AND
[d].[NroMezclaDia]7), WHERE:([d].[Extension]='6150' AND
[d].[CodigoFormula]='412761') ORDERED FORWARD)
|--Clustered Index
Scan(OBJECT:([Trazas].[dbo].[Componentes].[PK_Componentes] AS [c]),
WHERE:([c].[CodigoFormula]='412761' AND [c].[Extension]='6150'))
Leer las respuestas