[英]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.