0

我有多个列需要比较和加入。

这是我需要用来比较其他人的表格。

主表

--Check Number-- --Reimbursement--
-----1000-----------5800.11
-----1001-----------5802.12
-----1002-----------5801.13
-----1003-----------5800.11
-----1004-----------5804.14

我需要比较多个这样的表

子表1

--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

子表2

--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

所以我需要将所有表与主表进行比较,并只加入具有相同支票号码的表

4

1 回答 1

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
于 2012-07-20T14:14:08.467 回答