2014-11-04 86 views
1

我有一個SQL查詢,它適用於我的SQL解決方案。鑑於我目前擁有的位置和軟件,我無法使用我的Oracle軟件。我目前正在旅行,並試圖做一些額外的工作。SQL查詢訪問格式

我有一個SQL查詢:

SELECT tt.supplierId, tt.Price 
FROM products tt 
INNER JOIN 
(SELECT SupplierID, MAX(price) AS [prices] 
FROM products 
GROUP BY SupplierID) groupedtt 
ON tt.SupplierID = groupedtt.SupplierID 
AND tt.price = groupedtt.price 

當試圖在Access中運行,我得到了一些錯誤,從「輸入參數值」,缺少表情。我很久沒有使用過Access,並且在語法上很「生鏽」。我嘗試了各種不同的方式使它在Access中工作,沒有這樣的運氣。

回答

1

ON條款的兩個條件之間使用AND。當你嘗試重用字段名稱作爲別名字段表達式

ON tt.SupplierID = groupedtt.SupplierID 
AND tt.price = groupedtt.price 

訪問對象有時。

如果這部分導致錯誤......

SELECT SupplierID, MAX(price) AS price 

...使用這兩個而不是一個......

SELECT SupplierID, MAX(price) AS Maxprice 
SELECT SupplierID, MAX(price) AS [price] 

如果Access繼續請求參數值,請註明它將其解釋爲參數的名稱。您可以通過運行Access查詢設計器中的查詢來找到該輸入參數對話框,其中包含參數名稱。

+0

對不起,我的意思是有我的查詢AND。在輸入參數值爲groupedtt.price – zebby 2014-11-04 18:19:17

+0

最大(價格)AS [價格] – zebby 2014-11-04 18:22:15

+0

在子查詢中使用'MAX(價格)AS [價格]',您需要更改'ON'子句以匹配: 'AND tt.price = groupedtt.prices'否則,Access將在'groupedtt'中查找'price',但找不到它,因此假定它必須是一個參數。 – HansUp 2014-11-04 18:22:54