СЛЕДУЮЩЕЕ НАРУЖНОЕ СОЕДИНЕНИЕ с предложением WHERE

У меня есть две таблицы.indRailType содержит список имен в паре со значением идентификатора, который я использую в других таблицах для указания типа рейки.WO_BreakerRail содержит столбец даты и столбец кода железной дороги, который соответствует тому же коду вindRailType и некоторые другие данные. Есть ряд вWO_BreakerRail для любой деятельности на каждом типе рельса, на каждую дату. Таким образом, я мог бы иметь 3 строки для3/19/2010, в каждой строке указан другой код железной дороги, и что произошло.

Когда я использую следующееLEFT OUTER JOINЯ получаю таблицу со всеми типами рельсов, с нулями в строках, где ничего не произошло 19-го. Теперь, это работает только потому, что у меня есть только одна дата, представленная в моемWO_BreakerRail Стол прямо сейчас, 19-го. Когда я добавлю больше строк с разными датами, все пойдет не так.

Это мой оператор SQL, который сейчас дает мне именно те результаты, которые я хочу:

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

Теперь, когда я добавляю вWHERE WO_BreakerRail.Date = @Date пункт я теряю все строки вJOIN который ничего не случилось Я не хочу этого Из чтения это звучит как ПОЛНЫЙOUTER JOIN это то, что я хочу, но SQL Server Compact Edition не поддерживаетFULL OUTER JOINs. Есть ли способ обойти это, или я ищу что-то еще полностью?

Ответы на вопрос(6)

Ваш ответ на вопрос