连接表中包含不同数据的表

时间:2013-03-13 14:20:19

标签: sql sql-server join

我有两张这样的表

T1

id   value1
BMC  16
EC   22
LLU  60
MC   274
UHC  54
UHS  28

T2

id   value2
BMC  5
e900 4
EC   7
LLU  2
MC   1

我怎么能用sql server搞定这个?我也使用了全外连接。但它没有给我正确的结果

BMC  16   5
EC   22   7
LLU  60   2
MC   274  1
UHC  54   
UHS  28
e900      4

这是我的外连接,它用于两个select语句。不适用于桌子。但那些选择语句给出了上述结果(t1,t2)

SELECT * FROM 
(

SELECT b.EntityCode, COUNT('a') AS GroupCountUser1 FROM @TempUser a INNER JOIN OP_TB_TRN_Entity b
ON a.Entity=b.EntityID
GROUP BY b.EntityCode
) t1 

FULL OUTER JOIN 

(SELECT b.EntityCode, COUNT('a') AS GroupCountUser2 FROM @TempUser1 a INNER JOIN OP_TB_TRN_Entity b
ON a.Entity=b.EntityID
GROUP BY b.EntityCode) t2

ON t1.EntityCode = t2.EntityCode

2 个答案:

答案 0 :(得分:1)

猜测您忘记合并ID,请尝试

Select coalesce( A.Id, B.Id) id, 
    A.Value1, B.Value2
From A Full Join B On A.Id = B.Id

答案 1 :(得分:1)

选择concat(t1.value1,t2.value2)作为totalvalue

从t1加入t2,其中t1.Id = t2.Id

如果我明白你在问什么,这应该会有所帮助。