我有两个不同的表,如下所示:
--------Table 1---------------------------------------------------------
Cat1 Cat2 Cat3 Value1
a d1 13
b e1 13
a e2 d1 13
c d2 13
a e1 13
a d1 13
--------Table 2 -------------------------------------------------
Cat1 Cat2 Cat3 Value2
a e2 d1 113
c d2 132
a d1 134
a d1 131
b e1 113
a e1 133
上表中的Cat1和Cat2相同,但顺序可能不同。我想结合上面的两个表,以便所需的表如下所示:
--------Desired Table---------------------------------------------------------
Cat1 Cat2 Cat3 Value1 Value2
a d1 13 134
b e1 13 113
a e2 d1 13 113
c d2 13 132
a e1 13 113
a d1 13 134
我使用的是sybase的旧版本。
谢谢!
答案 0 :(得分:0)
你是说这个吗?
INSERT INTO table3 (Cat1,Cat2,Cat3,Value1,Value2)
SELECT t1.Cat1, t1.Cat2, t1.Cat3, t1.Value1, t2.value2
FROM table1 as t1, table2 as t2
where t1.Cat1 = t2.Cat2
答案 1 :(得分:0)
试试这个(来自我的ANSI SQL经验):
SELECT a.cat1,
a.cat2,
a.cat3,
a.value1,
b.value2
FROM tab1 a
LEFT OUTER JOIN
(SELECT cat1,
cat2,
cat3,
max(value2) value2
FROM tab2
GROUP BY cat1,
cat2,
cat3) b ON a.cat1 = b.cat1
AND a.cat2 = b.cat2
AND a.cat3 = b.cat3;