我有以下表加入1表1第2分列在另一张表
Employee
ID QueueID OverrideQueueID
1 1 NULL
2 2 3
3 1 3
4 4 NULL
Queue
ID
1
2
3
4
我需要加入这些表一起。基本上,连接需要查看是否存在OverrideQueueID,如果是,则在连接到QueueTable时使用OverrideQueueID,如果不使用连接中的QueueID。 QueueID将始终存在,但OverrideQueueID有时会为NULL。这将会是数百万条记录加入到一张表格中,其中有大约10条记录,所以我不想走上COALESCE路线,因为我以前在使用联接功能时发现性能下降。我假设如果我去了COALESCE路由,将始终执行表扫描以从COALESCE生成值。
这与我之前提出的以下问题类似,但现在我有1个表连接到1个表,而不是有条件地连接到多个表的1个表。我从原来的问题中取得了一些进展。 [Conditional join to two different tables based on 2 columns in 1 table
在这种情况下,请修改您的原始问题。你有多个已经熟悉你情况的人的建议。 – 2014-08-29 18:49:39
我原来的问题已经有了多个答案,这完全改变了这个问题成为一个新的问题走这条路线。 – mameesh 2014-08-29 18:50:36
我只是做像'表t合并(t。OverrideQId,t.QueueId)= a.ParameterId' – CSharper 2014-08-29 20:07:51