![](/img/trans.png)
[英]Can anyone spot the SQL mistake in this MS Access SQL code I wrote?
[英]I can't get this SQL to work, can anyone spot it?
SELECT
[Stock Conversion Items].SCID,
[Stock Conversion Items].[Result PC],
[Stock Conversion Items].[Quantity],
[Stock Conversion].[Date],
[products/stock].[Description]
FROM
[Stock Conversion Items]
INNER JOIN [Stock Conversion]
ON [Stock Conversion Items].SCID = [Stock Conversion].SCID
INNER JOIN [products/stock]
ON [Stock Conversion Items].[Result PC] = [products/stock].[Product Code]
ORDER BY [Stock Conversion Items].SCID;
這段代碼很容易解釋,基本上我遇到了根本無法解決的語法運算符錯誤。
重新格式化查詢,使其看起來像這樣:
SELECT sci.SCID, sci.[Result PC], sci.Quantity, sci.Date, s.Description
FROM [Stock Conversion Items] sci
INNER JOIN [Stock Conversion] sc
ON sci.SCID = sc.SCID
INNER JOIN [products/stock] s
ON sci.[Result PC] = s.[Product Code]
ORDER BY sci.SCID;
在該語句中唯一可能失敗的是on
子句。 您確定兩個SCID列以及[Result PC]和[Product Code]列都屬於同一類型嗎?
由於某種原因,Access似乎想在第一個聯接周圍加上括號。 這似乎可行:
SELECT [Stock Conversion Items].SCID, [Stock Conversion Items].[Result PC], [Stock Conversion Items].Quantity, [Stock Conversion].Date, [products/stock].Description
FROM ([Stock Conversion] INNER JOIN [Stock Conversion Items] ON [Stock Conversion].SCID = [Stock Conversion Items].SCID) INNER JOIN [products/stock] ON [Stock Conversion Items].[Result PC] = [products/stock].[Product Code];
SELECT [Stock Conversion Items].SCID,
[Stock Conversion Items].[Result PC],
[Stock Conversion Items].Quantity,
[products/stock].Description,
[Stock Conversion].[SC Date],
[Stock Conversion].[Created By]
FROM [Stock Conversion Items]
INNER JOIN ([products/stock] INNER JOIN [Stock Conversion]
ON [products/stock].[Product Code] = [Stock Conversion].[Source PC])
ON [Stock Conversion Items].SCID = [Stock Conversion].SCID;
因此,這就是Access提出的解決我的問題的方法,設法使事情正常運行,認為可能是數據類型不匹配。 所以,謝謝Sweko。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.