我在SQL Server中有两个表:
表1:
Silo Material F2601 11 This Month
---------------------------------------
1 Bottle Cullet 0
2 Salt Cake 832
2 Sand 0
3 03 Soda Ash 466430
4 Fluorspar 2820
5 Barytes 2393
6 06 Borax 297405
7 Mixed Cullet 12377
8 Syenite 179880
9 09 Bottle Cullet 0
10 10 Sand 1356551
11 11 BD Lime 164171
12 12 EP Dust 13745
13 Fluorspar 14236
14 Bottle Cullet 0
15 Bottle Cullet 0
16 Syenite 0
表2:
Silo Material F2601 11 Last Month
---------------------------------------
1 Bottle Cullet 0
2 Sand 0
3 03 Soda Ash 467382
4 Fluorspar 3758
5 Barytes 5028
6 06 Borax 318729
7 Mixed Cullet 20955
8 Syenite 151361
9 09 Bottle Cullet 0
10 10 Sand 1393186
11 11 BD Lime 169514
12 12 EP Dust 11905
13 Fluorspar 0
14 Bottle Cullet 0
14 Bottle Cullet 14 0
15 Bottle Cullet 0
16 Syenite 0
我正在寻找......
的查询结果Silo Material F2601 11 This Month F2601 11 Last Month
------------------------------------------------------------
1 Bottle Cullet 0 0
2 Salt Cake 832 0
2 Sand 0 0
3 03 Soda Ash 466430 467382
4 Fluorspar 2820 3758
5 Barytes 2393 5028
6 06 Borax 297405 318729
7 Mixed Cullet 12377 20955
8 Syenite 179880 151361
9 09 Bottle Cullet 0 0
10 10 Sand 1356551 1393186
11 11 BD Lime 164171 169514
12 12 EP Dust 13745 11905
13 Fluorspar 14236 0
14 Bottle Cullet 0 0
14 Bottle Cullet 14 0 0
15 Bottle Cullet 0 0
16 Syenite 0 0
非常感谢任何帮助。好像我想组合列,但需要存在于一个而不是另一个中的列放入结果集中,对于该相应表中不存在的列,该列为零。
答案 0 :(得分:0)
我不确定是否理解这个问题。但我会在ID上使用LEFT JOIN,并使用IFNULL。
以下查询之类的内容会让您进入正确的轨道:
SELECT
t1.id, t1.name, t1.number, t2.number
FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.id
ORDER BY t1.id;
然后你可以玩IFNULL()来更好地格式化结果。