【发布时间】:2015-04-26 00:50:38
【问题描述】:
我有一个从三个不同表中选择行的查询:
TableA、TableB 和 TableC。
我的查询的一个字段必须是每个表中字段Name 的串联,如以下别名:
SELECT
A.Name,
B.Name,
C.Name,
CONCAT(A.Name, ' / ', B.Name, ' / ', C.Name) AS Full_name
FROM ...
查询使用LEFT OUTER JOIN 连接三个表。在某些情况下,如果其中一个表没有下表中的条目,我会得到奇怪的结果:
--------------------------
|Table A |Table B|Table C|
--------------------------
|My |Name | |
--------------------------
|My | |Is |
--------------------------
|My |Name |Is |
--------------------------
尾随的 / 像这样可见:
1) My / Name /
2) My / / Is
3) My / Name / Is
我应该生成以下结果,但我不想使用 CASE,所以我想知道我是否可以同时使用 COALESCE、ISNULL 和 CONCAT
预期结果
1) My / Name
2) My / Is
3) My / Name / Is
【问题讨论】:
标签: sql-server tsql string-concatenation concat