[英]Why left join doesn't work but right join works ?
我有3张桌子
Transport.Devices,Transport.Conductors,Transport.ConductorDevices,
我在设备表上应用了LeftJoin,因此它还应该显示那些未分配的设备,但是它不起作用,为什么? 我尝试了“右连接”,它起作用了,但“左”不起作用。
Select Transport.ConductorDevices.ID, Transport.ConductorDevices.Device_ID,Transport.ConductorDevices.Conductor_ID,
Transport.Conductors.Name as Conductor, Transport.Devices.TerminalSNO as Terminal
from Transport.ConductorDevices
Inner Join Transport.Devices
ON Transport.Devices.DeviceID=Transport.ConductorDevices.Device_ID
left Join Transport.Conductors
ON Transport.Conductors.ConductorID= Transport.ConductorDevices.Conductor_ID
左连接!=右连接,左连接的确包含左侧的所有内容,而右连接则包含右侧的所有内容。 在这种情况下,您需要所有权利。 这就是为什么正确的联接为您工作的原因。
如果需要所有设备(也未分配),则可以从以下设备开始:
from Transport.Devices
LEFT JOIN Transport.ConductorDevices
ON Transport.Devices.DeviceID=Transport.ConductorDevices.Device_ID
LEFT JOIN Transport.Conductors
ON Transport.Conductors.ConductorID= Transport.ConductorDevices.Conductor_ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.