如何加入这两张桌子?我猜它会左或右连接,但我无法确定语法。
同一个表中的两个查询生成了两个表:
表1.获取ReservationMAC和ReservationIP列中具有相同条目的所有条目:
Select a.Server, a.Network, a.ReservationIP, a.ReservationMAC, a.ReservationName, dt.cnt from Dashboard.dbo.DHCP_ScopeReservations a INNER JOIN (Select ReservationIP, ReservationMAC, COUNT(ReservationMAC) AS cnt from Dashboard.dbo.DHCP_ScopeReservations group by ReservationIP, ReservationMAC having count(ReservationMAC) > 1 ) dt ON a.ReservationMAC=dt.ReservationMAC AND a.ReservationIP=dt.ReservationIP order by ReservationMAC
结果:
Server network ReservationIP ReservationMAC ReservationNAme cnt
S1 10.34.57.0 10.34.57.10 0 vhpa101 2
S2 10.34.57.0 10.34.57.10 0 vhvpa101 2
S3 10.206.0.0 10.206.3.22 0000681569af ac-gpo069 2
S4 10.206.0.0 10.206.3.22 0000681569af ac-gpo069 2
S5 10.232.8.0 10.232.11.51 6.82E+06 ac-gpob14 2
S6 10.232.8.0 10.232.11.51 6.82E+06 ac-gpob14 2
表2。仅在ReservationMAC列中获取具有相同条目的所有人
Select a.Server, a.Network, a.ReservationIP, a.ReservationMAC, a.ReservationName, dt.cnt from Dashboard.dbo.DHCP_ScopeReservations a INNER JOIN (Select ReservationMAC, COUNT(ReservationMAC) AS cnt from Dashboard.dbo.DHCP_ScopeReservations group by ReservationMAC having count(ReservationMAC) > 1 ) dt ON a.ReservationMAC=dt.ReservationMAC order by ReservationMAC
Result:
Server network ReservationIP ReservationMAC ReservationNAme cnt
S1 10.16.175.0 10.16.175.203 0 ups-mume-042a 2
S2 10.64.160.0 10.64.177.61 0 pq2331 2
S3 10.34.57.0 10.34.57.10 0 vhpa101 2
S4 10.34.57.0 10.34.57.10 0 vhvpa101 2
S1 10.206.0.0 10.206.3.22 0000681569af ac-gpo069 2
S2 10.206.0.0 10.206.3.22 0000681569af ac-gpo069 2
S3 10.232.8.0 10.232.11.51 6.82E+06 ac-gpob14 2
S4 10.232.8.0 10.232.11.51 6.82E+06 ac-gpob14 2
我需要重新加入这两个,最终结果应该是一个表格 ReservationMAC列匹配但ReservationIP列不匹配。我不关心其他列,但我在结果中需要它。 结果:
Server network ReservationIP ReservationMAC ReservationNAme cnt
S1 10.16.175.0 10.16.175.203 0 ups-mume-042a 2
S2 10.64.160.0 10.64.177.61 0 pq2331 2
答案 0 :(得分:1)
您只需将查询包装在括号中,并为其提供别名即可加入。
select q1.server, q1.network, q1.reservationip, q1.reservationmac, q1.reservationname, q1.cnt
from
(your first query) q1
INNER JOIN
(your second query) q2
ON q1.reservationmac = q2.reservationmac and q1.reservationip <> q2.reservationip
作为替代方案,您可以从两个查询中创建视图,以使查询更易于管理。