我遇到了一些問題。我有3個表Product
,Version
,Date
。SQL - 無效的查詢,因爲它不包含在聚合函數或組合子句中
依賴關係:
version.ProductId = Product.Id
(有> = 1個版本的一個產品)Date.VersionId = Version.ID
(一對一)
我想對產品 - 版本,其中Date
Version
是Max(對於每個產品)
類似於:
Product 1 - 1.0
Product 2 - 0.9 etc
我試着用下面的查詢:
SELECT
productName, versionName
FROM
(SELECT
p.Name AS productName, v.Name AS versionName, MAX(d.Date) AS ddate
FROM
Product AS p
INNER JOIN
Version AS v ON v.ProductId = p.Id
INNER JOIN
Date AS d ON d.VersionId = v.Id
WHERE
(d.Date < { fn CURDATE() })
GROUP BY p.Name) AS prd
但我得到一個錯誤:
Column Version.Name is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
如何處理這個問題?
我想說,但我有很多對1種產品。喜歡:產品1 - 0.1,產品1 - 0.2,產品1 - 0.3等。 – 2012-07-30 09:39:18
啊,我明白了。請參閱編輯 – podiluska 2012-07-30 09:56:11
謝謝!編輯版本正常工作;) – 2012-07-30 10:25:28