我有3个表,我需要使用ms-access DB
选择数据我试过这个SQL:
SELECT a.column1, a.column2, a.column3, a.columnID, b.column1
From TableA a INNER JOIN TableB b
ON a.columnID = b.columnID INNER JOIN TableC c
ON c.columnID = a.columnRelativeID
WHERE a.columnID=16
虽然当我尝试执行查询时,我收到语法错误。
此外,当我删除第二个连接时,使用第三个表,查询工作正常,因此这是错误所在的位置。
这example of joining 3 tables并没有帮助我理解我的问题所在。
如果我只从两个表中选择并从C#中的LINQ中完成第三表数据,这样可以吗?我在代码中的数据源中有第三表数据
提前致谢,
盎司。
答案 0 :(得分:4)
您绝对可以从MS Access中的三个(或更多)表中进行选择。但是,您必须使用Access的craptastic括号系统,它在From子句中将表配对在一起。
Select A.Column1, A.Column2, A.Column3, A.ColumnID, B.Column1
From (Table1 AS A
Inner Join Table2 AS B
On A.ColumnID = B.ColumnId)
Inner Join Table3 AS C
ON A.ColumnRelativeId = C.ColumnId
Where A.ColumnId = 16
答案 1 :(得分:1)
SELECT a.column1, a.column2, a.column3, a.columnID, b.column1
From TableA a , TableB b, TableC
WHERE a.columnID = b.columnID
AND c.columnID = a.columnRelativeID
AND a.columnID=16