MS Access选择多个连接
本文关键字:连接 选择 Access MS | 更新日期: 2023-09-27 18:20:10
我正试图从下表中通过c#和odbc进行选择。
LinkTab (FromDevID, FromPort, ToDevID, ToPort)
DevList (ID,DevName...)
结果应该看起来像
FromDevName | FromPort | ToDevName | ToDevPort
我已经尝试了以下语句:
SELECT dev1.DevName, lt.FromPort, dev2.DevName, lt.ToPort
FROM (LinkTab lt
INNER JOIN DevList dev1 ON lt.FromDevID = dev1.ID)
INNER JOIN devList dev2 ON lt.ToDevID = dev2.ID
我无法获得所有记录。我想我的加入条件有错误。
假设您需要left join
:
SELECT dev1.DevName, lt.FromPort, dev2.DevName, lt.ToPort
FROM (LinkTab lt LEFT JOIN
DevList dev1
ON lt.FromDevID = dev1.ID
) LEFT JOIN
devList dev2
ON lt.ToDevID = dev2.ID;
查询不会返回所有行的原因是设备可能并不总是匹配。如果是这种情况,则INNER JOIN
将过滤掉具有不匹配设备的行。LEFT JOIN
将保留第一个表中的所有行,为第二个表和第三个表的列分配NULL
。