2015-09-04 36 views
1

+串連我需要連接兩個不同表中的字段的基礎上,當案件的結果。這是我迄今爲止 -情況當兩個表中

Select 
CASE WHEN [Record] = 'Criteria' then (dbo.[Table A].[Field] + ' ' + dbo.[Table B].[Field]) AS 'Name' 

Else ' ' 

INNER JOIN dbo.[Table] ON dbo.[Table].[Field] = dbo.[Table].[Field] 

From [Table] 

但是當我運行它,我不斷收到錯誤

消息156,級別15,狀態1,行2不正確的語法關鍵字 附近「如'。

我不知道我的陳述是完全錯誤的還是我錯過了一些東西。

感謝

回答

0

請記住,使用+來串聯字符串你會得到NULL如果tab_a.[Field]tab_b.[Field]爲NULL。

二使用別名表名。

SELECT 
[Name] = CASE 
      WHEN [Record] = 'Criteria' THEN (tab_a.[Field] + ' ' + tab_b.[Field]) 
      ELSE ' ' 
      END 
FROM [dbo].[Table A] AS tab_a 
JOIN [dbo].[Table B] AS tab_b 
    ON tab_a.[Field] = tab_b.[Field] 
+0

謝謝 - 該解決方案完美的作品。 –

+0

@ SQ-what回答並關閉的好記號;) – lad2025

0
Select 
CASE WHEN [Record] = 'Criteria' then (dbo.[Table A].[Field] + ' ' + dbo.[Table B].[Field]) 
Else ' ' 
end AS 'Name' 
From [Table] 
INNER JOIN dbo.[Table] ON dbo.[Table].[Field] = dbo.[Table].[Field] 
0

然後用你的case語句的問題;

CASE WHEN [Record] = 'Criteria' then (dbo.[Table A].[Field] + ' ' + dbo.[Table B].[Field]) 
Else ' ' end AS 'Name'