我真的很喜欢SQL,而且除了最简单的连接之外,我真的很挣扎 - 特别是在MS Access中。
在这个阶段,我想要做的就是从两个表创建一个查询:' tblUsers',用列' UserID'和'用户'和' tblPayments'使用列' PaymentID','用户'和'授权人'。我希望我的查询包含所有这些数据,并且还要包含列' UserID'和' AuthoriserID',这两个身份证号码都取自“用户”,但很明显,一个与用户有关,一个与授权人有关。
我确信这比制作它简单得多,但我应该怎么做?
提前致谢。
答案 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;