TSQL (như được sử dụng trong MS SQL Server 2000 và 2005) cho phép nhiều mệnh đề JOIN, một mệnh đề bên phải, không có dấu phẩy hoặc dấu ngoặc đơn cần thiết. Hãy thử điều này trong Access và nó ném phù hợp: "Lỗi cú pháp (thiếu toán tử) trong biểu thức truy vấn ..."Chuyển đổi TSQL sang MS-Access SQL
Từ những gì tôi có thể tập hợp trong Google-land, Access SQL muốn dấu ngoặc đơn để nhóm JOIN mệnh đề. Hầu hết các lời khuyên về cách thực hiện điều này là sử dụng khung nhìn thiết kế hoặc trình hướng dẫn truy vấn, và cho phép Access tìm ra vị trí đặt các dấu ngoặc đơn (không bắt buộc trong SQL chuẩn). Vấn đề là, tôi rất quen với việc thực hiện SQL của mình trong một trình soạn thảo văn bản (Notepad, SSMS, VS2005, bất cứ điều gì) mà khung nhìn thiết kế và trình hướng dẫn cản trở và làm cho quá trình thu thập thông tin của tôi bị thu hẹp. Đôi khi các trình thuật sĩ đưa ra giả định xấu về những gì để tham gia nếu có nhiều khả năng, và tôi rất quen với việc tự làm điều đó trong TSQL mà tôi muốn để lại các trình thuật sĩ trong số đó.
Không có công cụ nào sẽ chuyển đổi TSQL thành Access SQL hoặc ít nhất một bộ quy tắc về vị trí đặt dấu ngoặc đơn?
Ví dụ:
SELECT ...
FROM Participant PAR
INNER JOIN Individual IND
ON PAR.APETSID = IND.APETSID
INNER JOIN Ethnicity ETH
ON IND.EthnicityID = ETH.ID
INNER JOIN Education EDU
ON IND.EducationID = EDU.ID
INNER JOIN Marital MAR
ON IND.Marital = MAR.ID
INNER JOIN Participant-Probation PXP
ON PAR.ID = PXP.ParticipantID
INNER JOIN Probation PBN
ON PXP.ProbationID = PBN.ID
INNER JOIN Class-Participant CXP
ON PAR.ID = CXP.ParticipantID
INNER JOIN Class CLS
ON CXP.ClassID = CLS.ID
INNER JOIN Official OFR
ON PAR.ReferringPO = OFR.ID
INNER JOIN Participant-Official PXO
ON PAR.ID = PXO.ParticipantID
INNER JOIN Official OFA
ON PXO.OfficialID = OFA.ID
Tìm thấy rằng việc sử dụng Cú pháp tương thích SQL Server (ANSI 92) cũng không giúp ích gì. – JeffO