Sql 列定义不明确的错误
我得到: 列定义不明确的错误Sql 列定义不明确的错误,sql,oracle,Sql,Oracle,我得到: 列定义不明确的错误 执行此查询时,itemfamily在item\u master和item\u family中都是有效列。必须在select语句中通过别名指定引用的对象 要么: SELECT itemname, price, itemfamily, f.familyname FROM item_master i JOIN item_family f ON f.familyid=i.itemfamily JOIN (SELECT min(p
执行此查询时,
itemfamily
在item\u master
和item\u family
中都是有效列。必须在select语句中通过别名指定引用的对象
要么:
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;
或:
这是因为这两个表(item\u master&item\u family
)都包含itemfamily
列。因此,在select查询中仅指定itemfamily
将不起作用。您需要明确指定需要从哪个表中指定itemfamily
列。
因此,在select子句中使用i.itemfamily
或t.itemfamily
SELECT
itemname,
price,
f.itemfamily,
f.familyname
或
我认为你应该增加更多关于你的表格布局的细节,并尽量把它简化成一个最小的例子…总是把所有的东西都别名。谢谢你,伙计,它成功了
SELECT
itemname,
price,
f.itemfamily,
f.familyname
SELECT itemname,
price,
i.itemfamily,
f.familyname
SELECT itemname,
price,
t.itemfamily,
f.familyname