【发布时间】:2011-01-30 20:33:50
【问题描述】:
我有两张桌子。 indRailType 包含与我在其他表中用于指示轨道类型的 ID 值配对的名称列表。 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 中的所有行,但什么也没发生。我不想要那个。从阅读开始,听起来像 FULL OUTER JOIN 是我想要的,但 SQL Server Compact Edition 不支持 FULL OUTER JOINs。有没有办法解决这个问题,还是我完全在寻找其他东西?
【问题讨论】:
标签: sql-server join sql-server-ce