我有多个列需要比较和加入。
这是我需要用来比较其他人的表格。
MainTable
--Check Number-- --Reimbursement--
-----1000-----------5800.11
-----1001-----------5802.12
-----1002-----------5801.13
-----1003-----------5800.11
-----1004-----------5804.14
我需要比较这样的多个表
ChildTable1
--Check Number --Name----Total Cash---Bonus-
-----1003------John-------5500.11------300
-----1000------Jane-------5502.12------300
-----1002------Joe--------5501.13------300
-----1001------Jay--------5500.11------300
-----1004------Janie------5504.14------300
ChildTable2
--Check Number --Name----Total Cash---Bonus-
-----1013------John-------5500.11------300
-----1010------Jane-------5502.12------300
-----1002------Joe--------5501.13------300
-----1011------Jay--------5500.11------300
-----1014------Janie------5504.14------300
最终结果应该是这样的
--Check Number --Name----Total Cash---Bonus-----Reimbursement--
-----1003------John-------5500.11------300-----------5800.11
-----1000------Jane-------5502.12------300-----------5800.11
-----1002------Joe--------5501.13------300-----------5801.13
-----1001------Jay--------5500.11------300-----------5802.12
-----1004------Janie------5504.14------300-----------5804.14
不
--Check Number --Name----Total Cash1---Bonus1---------Total Cash2---Bonus2-----Reimbursement--
-----1003--------John-------5500.11------300------------------NULL------NULL-----------5800.11
-----1000--------Jane-------5502.12------300------------------NULL------NULL-----------5800.11
-----1002--------Joe--------5501.13------300------------------NULL------NULL-----------5801.13
-----1001--------Jay--------5500.11------300------------------NULL------NULL-----------5802.12
-----1004--------Janie------5504.14------300------------------NULL------NULL-----------5804.14
所以我需要将所有表与Main表进行比较,并仅连接具有相同支票号的表
答案 0 :(得分:1)
您可以将它们作为两个单独的查询并将它们联合起来:
select mt.CheckNumber as CheckNumber,
c1.name as Name,
c1.TotalCash as TotalCash,
c1.Bonus as Bonus,
mt.Reimbursement as Reimbursement
from MainTable mt
inner join ChildTable1 c1 on c1.CheckNumber = mt.CheckNumber
UNION
select mt.CheckNumber as CheckNumber,
c2.name as Name,
c2.TotalCash as TotalCash,
c2.Bonus as Bonus,
mt.Reimbursement as Reimbursement
from MainTable mt
inner join ChildTable2 c2 on c2.CheckNumber = mt.CheckNumber