【发布时间】:2014-08-29 17:48:11
【问题描述】:
我的一个表中有一个字段,其中可能包含一个 UNIQUEIDENTIFIER 或一个表示名称的字符串。我想使用此字段加入另一个表,如果该值是 UNIQUEIDENTIFIER,它应该与第二个表的 KEY 字段连接,但如果该值是一个字符串,它应该与第二个表的 NAME 字段连接。
这是我的查询示例:
SELECT * FROM Table1 AS T1
LEFT JOIN Table2 AS T2
ON
T2.NAME = T1.NAME
OR T2.KEY = T1.NAME
此查询不起作用,因为它在尝试将字符串转换为 UNIQUEIDENTIFER 时引发错误。不幸的是,我没有另一个字段可以识别哪些记录包含 UNIQUEIDENTIFIER 与字符串,以便简单地执行 2 个查询并将它们联合起来。
有谁知道处理这种情况的最佳方法?
【问题讨论】:
标签: sql sql-server tsql join