我有两个查询都使用联接,从多个表中选择各种列,这些列会产生以下结果集:
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 ...
尝试左外连接:
我在这里假设提议的结果集中的合同编号实际上是您第一个查询中的合同编号,而区别只是一个错字。如果是这样,那么您会得到想要的东西。
尝试以下查询
感谢大家的回复,>>
在尝试了Husam Ebish的建议之后,这不是我所需要的,但是将我引向了这个话题。 (投票给您的答案)
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临时表,或对每个选择使用Alliance,然后将它们加入。像: