SQL如何连接具有不同列和连接的两个查询

问题描述 投票:2回答:6

我有两个查询都使用联接,从多个表中选择各种列,这些列会产生以下结果集:

companyID   workType    contractnumber  employeenumber  Value2
1           1C          9999999         111111          2547.21
1           1C          9999999         222222          863.67
1           1C          9999999         333333          2962.15
1           1C          9999999         444444          1971.61
1           1C          9999999         555555          152.41
1           1C          9999999         666666          155.90
1           1C          9999999         777777          657.20


companyID   normalWorkType  employeeNumber  value1
1           1C              11111           1016.08
1           1C              22222           3118.05
1           1C              33333           2628.81
1           61              44444           2547.21

我希望将它们结合起来以产生以下结果。任何人都可以解释正确的语法吗?

companyID   normalWorkType  contractnumber  employeeNumber  value1  Value2
1           1C              9999999         11111           1016.08 2547.21
1           1C              9999999         22222           3118.05 863.67
1           1C              9999999         33333           2628.81 2962.15
1           61              9999999         44444           2547.21 1971.61
1           1C              9999999         55555           0       152.41
1           1C              9999999         66666           0       155.90
1           1C              9999999         77777           0       657.20

上面的分组是在companyID和employeeNumber上的>

我有2个查询都使用联接,请从多个表中选择各个列,这些表会产生以下结果集:companyID workType合同编号员工编号Value2 1 1C ...

sql sql-server sql-server-2005
6个回答
2
投票

尝试左外连接:


1
投票

我在这里假设提议的结果集中的合同编号实际上是您第一个查询中的合同编号,而区别只是一个错字。如果是这样,那么您会得到想要的东西。


0
投票

尝试以下查询


0
投票

感谢大家的回复,>>

在尝试了Husam Ebish的建议之后,这不是我所需要的,但是将我引向了这个话题。 (投票给您的答案)


0
投票
SELECT
  *
FROM
  (select top 1  VL1,VL2,VL3 from current_voltage AS q1
where deviceimei ='233'
order by devicetimestamp)   AS q1
CROSS JOIN
  (select top 1  OTI,WTI,ATI from overview  AS q2
where deviceimei ='233'
order by devicetimestamp  )   AS q2

-2
投票

您可以将搜索结果放入2临时表,然后加入此2临时表,或对每个选择使用Alliance,然后将它们加入。像:

© www.soinside.com 2019 - 2024. All rights reserved.