下午好。很高兴发布我不需要发布任何问题,而是开始回答。 Woo :)Oracle SQL - AVG功能无效标识符
无论如何,我的问题在于,我试图编写一个子查询来拉动我的供应商,他们的角色,以及他们的角色。供应商可能多次提供零件,所以我想平均零件的价格。后来,我期待看到有关这些部分的任何问题通知。但是,我不能参考稍后我将进行平均的领域。我该怎么办?
的SQL如下所示,是ORACLE语法:
WITH
PartVendor AS
(
SELECT PARTNAME, PARTNUM, AVG(PARTPRICE), VENDNAME, VENDNUM
FROM PARTBL
INNER JOIN VENDTBL ON VENDNUM = PARTVENDNUM
GROUP BY PARTNAME, PARTNUM, VENDNAME, VENDNUM
),
PartProbs AS
(
SELECT PartVendor.*, PROBNUM, PROBDESC
FROM PartVendor
INNER JOIN PROBTBL ON PARTNUM = PROBPARTNUM
)
SELECT *
FROM PartProbs
稍后,我会做更多。但是我一直在PARTPRICE上发现一个错误,告诉我它是一个无效的标识符。任何人都可以帮忙吗?
我没有看到你的CTE列的列表。 'WITH cte_name(column_list)AS(...)' – Eric
我不知道cte是什么,但我从来没有像以前那样使用WITH,并且我一直在使用它进行子查询一段时间。 @Eric – bm0r3son
你确定你的一个表'PARTBL'和'VENDTBL'有一个'PARTPRICE'列吗?如果是这样,也许它是用双引号声明的,就像在“PartPrice”中那样 - 那么当它被引用时它就被强制称为“PartPrice”? – mathguy