我有一个加入2个表的SQL SELECT语句.
主表包含有关产品的其他信息,并与第二个尺寸表相连.
第二个表包含以字符串形式存储的非数字大小的列表,其结构简单如下:
SizeID =主键
SizeName =大小的字符串值(即,小,中,大)
SizeOrder =整数值,用于排序大小顺序(即SizeOrder为5表示Size大于SizeOrder为2)
我需要SELECT语句从大小表中返回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;
这将返回错误“不支持参考’MinSizeID'(对组函数的引用)”