問題があります。私は3つのテーブルを持っていProduct
ますVersion
、、Date
。
依存関係:
version.ProductId = Product.Id
(1つの製品には> = 1のバージョンがあります)Date.VersionId = Version.ID
(1対1)
ペア商品を入手したい-バージョン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
しかし、エラーが発生します:
列Version.Nameは、集計関数にもGROUP BY句にも含まれていないため、選択リストでは無効です。
それをどのように処理しますか?