s******1 发帖数: 33 | 1 有2 table, 如下
TABLE A:
id time cat dog
1 1 1 5
1 2 2 6
2 1 3 7
2 2 4 8
TABLE B:
id time cat dog
1 1 2 6
1 2 3 7
2 1 4 8
2 2 5 9
怎样可以把他们合并成为下面这个table呢?
id time cat dog
1 1 3 11
1 2 5 13
2 1 7 15
2 2 9 17
换句话说,新表就是保持id,time不变,(A.cat + B.cat) as cat, (A.dog + B.dog)
as dog | s**********l 发帖数: 629 | 2 need to use "join"
SELECT [Table A].id, [Table A].Time, ([TableA.cat]+[Table B.cat]) AS new_cat, INTO [new table], ([TableA.dog]+[Table B.dog]) AS new_dog,
INTO [new table]
FROM [Table A] INNER JOIN [Table B] ON ([Table A].id = [Table B].id) AND ([Table A].time = [Table B].time);
【在 s******1 的大作中提到】 : 有2 table, 如下 : TABLE A: : id time cat dog : 1 1 1 5 : 1 2 2 6 : 2 1 3 7 : 2 2 4 8 : TABLE B: : id time cat dog : 1 1 2 6
| s******1 发帖数: 33 | | g*********r 发帖数: 2847 | 4 union 了 group by 就可以
data set 太大的话join 貌似没有union运算的快,个人感觉。
Union 的问题在于,如果data set 实在是大(几十M的records,几十fields的话),
有可能会出错。具体原因不详,不过我已经碰到过2次了 |
|