假设我在 SQL Server (2008) 中有下表:
Person
|PersonID|NickName|FirstName|LastName|
|1 |Jim |James |Leahy |
|2 |Mike |Michael |Ross |
|3 |Bob |Robert |Helberg |
我想知道在 SQL 中是否可以执行以下操作。我有一个主表,我想根据NickName
和FirstName
列在另一个表上查找匹配项。但是,我希望以特定顺序加入列。
我想加入上面(NickName
或FirstName
)的第一列,它将与下表中的标识符匹配
|Identifier|PersonId|
|Jim |1 | <- should return PersonId = 1
|Michael |2 | <- should return PersonId = 2
因此,如果有匹配项,NickName
则选择该行。如果没有匹配项,NickName
请查看FirstName
.
有什么方法可以按特定顺序查询列吗NickName
?FirstName
我不认为COALESCE
会起作用,因为我们不能保证任何列都会NULL
- 我们只知道列上可能不会发生匹配。
如果您需要澄清,请告诉我;我可能没有很好地措辞。