嗨我有两个表结构就像这样
表1
Customer Company price qty item invno
1 a 89 8 item1 23
2 b 80 4 item2 22
3 c 90 3 item1 45
4 d 19 6 item3 12
表2
Customer Company price qty item invno
1 a 89 8 item1 23
2 b 80 4 item2 18
3 c 90 3 item1 45
4 d 19 6 item3 15
基本上table1包含当前记录和table2当前+过去的记录,它们都有其他列
我想要的是获取table1和table2的所有记录但是在invno重复的情况下我需要来自table1的记录,在这种情况下,resultset将包含invno-23(table1),22(table1), 45(表1),12(表1),18(表2),15(表2)
我尝试使用UNION但它在不同的列选择上给出了不同的结果我坚持在这里任何帮助都会很棒。
答案 0 :(得分:0)
SELECT t2.Customer,
t2.Company,
t2.price,
t2.qty,
t2.item,
IFNULL(t1.invno,t2.invno)
FROM table2 AS t2
LEFT JOIN table1 AS t1
ON t2.Customer=t1.Customer
答案 1 :(得分:0)
以下是一种方法,使用union all
和过滤器:
select *
from table1 t1
union all
select *
from table2 t2
where not exists (select *
from table1 t1
where t1.invno = t2.invno
);