LEFT OUTER JOIN com uma cláusula WHERE

Eu tenho duas mesas.indRailType contém uma lista dos nomes emparelhados com um valor de ID que eu uso em outras tabelas para indicar o tipo de trilho.WO_BreakerRail contém uma coluna de data e uma coluna de código de trilho que corresponde ao mesmo código emindRailType e alguns outros dados. Há uma linha emWO_BreakerRail para qualquer atividade em cada tipo de trilho, para todas as datas. Então eu poderia ter três linhas datadas de3/19/2010, cada linha indica um código de trilho diferente e o que aconteceu.

Quando eu uso o seguinteLEFT OUTER JOIN, Recebo uma tabela com todos os tipos de trilhos, com nulos nas linhas onde nada aconteceu no dia 19. Agora, isso só está funcionando porque eu só tenho uma data representada no meuWO_BreakerRail mesa agora, dia 19. Quando adiciono mais linhas com datas diferentes, as coisas ficam complicadas.

Esta é a minha instrução SQL, que agora me dá exatamente os resultados que eu quero:

SELECT WO_BreakerRail.ID, indRailType.RailType, WO_BreakerRail.CreatedPieces, 
    WO_BreakerRail.OutsideSource, WO_BreakerRail.Charged, 
    WO_BreakerRail.Rejected, WO_BreakerRail.RejectedToCrop
FROM indRailType
LEFT OUTER JOIN WO_BreakerRail 
    ON indRailType.RailCode = WO_BreakerRail.RailCode

Agora, quando adiciono umWHERE WO_BreakerRail.Date = @Date cláusula eu perco todas as linhas noJOIN que nada aconteceu. Eu não quero isso Desde a leitura, soa como um CHEIOOUTER JOIN é o que eu quero, mas o SQL Server Compact Edition não suportaFULL OUTER JOINs. Existe uma maneira de contornar isso, ou estou procurando algo completamente diferente?

questionAnswers(6)

yourAnswerToTheQuestion