我已经尝试了很多,但我没有得到我想要的结果。
假设我在第一张表中得到以下数据:
ColA ColB ColC ColD
AA 11 1 50€
AA 11 1 60€
AA 11 1 10€
BB 22 1 15#
在表B中我有这个:
ColA ColB ColC ColD
AA 11 1 Delta
AA 11 1 Delta
AA 11 1 Delta
BB 22 1 Gamma
BB 22 1 Gamma
我需要创建一个看起来像这样的表 - 只注意4行,而不是我正在使用的内连接产生的11行。
ColA ColB ColC ColD ColE
AA 11 1 50€ Delta
AA 11 1 60€ Delta
AA 11 1 10€ Delta
BB 22 1 15€ Gamma
如果有人知道如何完成这项工作,那将非常感激。
答案 0 :(得分:1)
试试这个:
SELECT A.ColA,
A.ColB,
A.ColC,
A.ColD,
B.Cold AS ColE
FROM Table_A AS A
JOIN Table_B AS B
ON B.ColA = A.ColA
AND B.ColB = A.ColB
GROUP BY A.ColA,
A.ColB,
A.ColC,
A.ColD,
B.Cold
答案 1 :(得分:1)
试试这个;
SELECT A.ColA,A.ColB,A.ColC,A.ColD,B.ColD as BCol
FROM TableA A JOIN
TableB B ON A.ColA=B.ColA AND A.ColB=B.ColB AND A.ColC=B.ColC
GROUP BY A.ColA,A.ColB,A.ColC,A.ColD,B.ColD
结果:
COLA COLB COLC COLD BCOL
AA 11 1 10€ Delta
AA 11 1 50€ Delta
AA 11 1 60€ Delta
BB 22 1 15# Gamma
请参阅SQL Fiddle中的结果。
答案 2 :(得分:-1)
你能用这个:
select a.ColA,a.ColB,a.ColC,a.ColD,b.ColD
from table_a a inner join table_b b
on a.ColA = b.ColA
group by a.ColA,a.ColB,a.ColC,a.ColD,b.ColD