MS Access查询,不支持加入

时间:2014-04-16 15:00:47

标签: sql database ms-access

所以我试图创建一个从访问数据库中提取信息的代码,但是我得到“不支持加入”

sSQL = "SELECT DISTINCT ordID, ordTrackNum, ordShipCarrier, ordStatusDate FROM 
        orders INNER JOIN shipoptions ON ordID = soOrderID WHERE (ordStatus=6);"

我在某处读到你必须用括号或括号括起来,但我不知道在哪里,有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

您的JOIN语法错误 - 您需要定义JOIN条件中哪些列来自哪个表 - 使用完整的表名或表别名(不确定MS Access是否支持此 - 我使用SQL Server大多数时候)。

所以试试这个:

SELECT DISTINCT 
    ordID, ordTrackNum, ordShipCarrier, ordStatusDate 
FROM 
    orders     
INNER JOIN 
    shipoptions ON orders.ordID = shopoptions.soOrderID 
WHERE 
    ordStatus = 6

没有括号或任何需要的东西......

或者,如果MS Access支持表别名(或在SQL Server中使用) - 请使用:

SELECT DISTINCT 
    ordID, ordTrackNum, ordShipCarrier, ordStatusDate 
FROM 
    orders o
INNER JOIN 
    shipoptions so ON o.ordID = so.soOrderID 
WHERE 
    ordStatus = 6