我有一个连接两个表的SQL Select语句。
主表包含产品的其他信息,并联接到第二个尺寸表。
第二个表包含存储为字符串的非数字大小列表,其结构简单如下…
sizeID=主键
sizename=字符串大小值(即,小、中、大)
size order=用于排序大小顺序的整数值(即,size order为5表示大小大于size order为2)
我需要select语句返回sizes表中的min()和max()大小。
但是,由于实际大小存储为字符串,因此需要对sizeOrder列运行min()和max()函数,但返回sizeName列的值。
我目前的尝试如下:
SELECT ProductReference, MIN(SizeOrder) AS MinSizeID, MAX(SizeOrder) AS MaxSizeID,
(SELECT SizeName FROM Size WHERE SizeOrder = MinSizeID) AS MinSizeText,
(SELECT SizeName FROM Size WHERE SizeOrder = MaxSizeID) AS MaxSizeText
FROM (Product INNER JOIN Size ON Products.SizeFK = StoneSize.SizeID)
WHERE ID = 132
GROUP BY ProductReference;
这将返回错误“reference”minSizeID“not supported(reference to group function)”。