SELECT itemname,
price,
itemfamily,
f.familyname
FROM item_master i
JOIN item_family f ON f.familyid=i.itemfamily
JOIN
(SELECT min(price) AS min1,
itemfamily
FROM item_master
GROUP BY itemfamily) t ON t.itemfamily=i.itemfamily
WHERE price= min1;
我得到了:
执行此查询时栏目无法定义的错误
答案 0 :(得分:4)
itemfamily
是item_master
和item_family
中的有效列。您必须在select语句中通过别名指定您引用的那个。
或者:
SELECT
itemname,
price,
i.itemfamily,
f.familyname
或:
SELECT
itemname,
price,
f.itemfamily,
f.familyname
答案 1 :(得分:4)
这是因为两个表(item_master & item_family
)都包含itemfamily
列。因此,在select查询中仅指定itemfamily
将不起作用。您明确需要指定从哪个表中{{1列。
因此,请在select子句中使用itemfamily
或i.itemfamily
。
t.itemfamily
或
SELECT itemname,
price,
i.itemfamily,
f.familyname