我有两个桌子。我需要合并两个表。
这第一张桌子。
----------------------------
| row_no | Part No |Qty_A |
----------------------------
| 1 | A | 100 |
| 2 | A | 300 |
----------------------------
第二张桌子。
----------------------------
| row_no | Part No |Qty_B |
----------------------------
| 1 | A | 400 |
| 2 | B | 200 |
----------------------------
这是我的结果:
--------------------------------------
| row_no | Part No | Qty_A | Qty_B |
--------------------------------------
| 1 | A | 100 | 400 |
| 2 | A | 300 | - |
| 2 | B | - | 200 |
--------------------------------------
两个表由“ row_no” 和“ Part_no” 列连接。 我尝试使用“ LEFT OUTER JOIN”,但结果不符合预期。
SELECT t1.row_no ,t1.part_no ,t1.Qty_A ,t2.Qty_B
FROM
(SELECT 1 as row_no,'A' as part_no,100 as Qty_A) as t1
LEFT OUTER JOIN
(SELECT 1 as row_no, 'B' as part_no,200 as Qty_B) as t2
ON t1.row_no = t2.row_no and t1.part_no = t2.part_no
对不起,我不清楚的例子。
我需要按Part_no进行分组,并按这样的行号进行重新排列。
答案 0 :(得分:3)
请尝试在以下查询中加入全部工会:
Undefined variable: courselist
或者您可以尝试使用完全外部联接:
select row_no ,part_no ,Qty_A , '-' as Qty_B from tableA
union all
select row_no ,part_no ,'-' as Qty_A , Qty_B from tableb
答案 1 :(得分:2)
UNION运算符用于合并两个或多个SELECT语句的结果集。 -UNION中的每个SELECT语句必须具有相同数量的 列 -这些列还必须具有相似的数据类型 -每个SELECT语句中的列也必须具有相同的顺序 union语句中的第一个查询定义列名称。 因此,您可以
select row_no ,part_no ,Qty_A , null as Qty_B from table1
union all
select row_no ,part_no , null, Qty_B from table2