使用SQL在MS Access中创建表连接

时间:2015-05-20 19:18:50

标签: sql ms-access

我真的很喜欢SQL,而且除了最简单的连接之外,我真的很挣扎 - 特别是在MS Access中。

在这个阶段,我想要做的就是从两个表创建一个查询:' tblUsers',用列' UserID'和'用户'和' tblPayments'使用列' PaymentID','用户'和'授权人'。我希望我的查询包含所有这些数据,并且还要包含列' UserID'和' AuthoriserID',这两个身份证号码都取自“用户”,但很明显,一个与用户有关,一个与授权人有关。

我确信这比制作它简单得多,但我应该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

请记住,SQL Server SQL和Access SQL之间的语法略有不同。虽然在大多数情况下,用Access编写的查询将在SQL服务器上正常运行,但由于SQL服务器上经常使用的快捷方式,情况则相反(例如:在使用别名时从连接中删除'INNER'和'AS' 。)

访问:

SELECT tblUsers.UserID, 
tblUsers.User, 
tblPayments.paymentID, 
tblUsers.User AS  Authoriser, 
tblUsers_1.UserID AS AuthoriserID

FROM (tblPayments 
INNER JOIN tblUsers AS tblUsers_1 
  ON tblPayments.AuthorisorID = tblUsers_1.UserID) 
INNER JOIN tblUsers 
  ON tblPayments.userID = tblUsers.UserID;

SQL Server:

SELECT tblUsers.UserID, 
tblUsers.User, 
tblPayments.paymentID, 
tblUsers.User Authoriser, 
tblUsers_1.UserID AuthoriserID

FROM tblPayments 
JOIN tblUsers tblUsers_1 
  ON tblPayments.AuthorisorID = tblUsers_1.UserID 
JOIN tblUsers 
  ON tblPayments.userID = tblUsers.UserID;