Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 错误位置:27返回:1730-ORA-01730:指定的列名数无效_Sql_Oracle_Peoplesoft - Fatal编程技术网

Sql 错误位置:27返回:1730-ORA-01730:指定的列名数无效

Sql 错误位置:27返回:1730-ORA-01730:指定的列名数无效,sql,oracle,peoplesoft,Sql,Oracle,Peoplesoft,我需要帮助在PeopleSoft中使用PeopleTools应用程序设计器创建视图。在ORACLE SQL Developer中运行下面的视图SQL时,它的选择非常好,但当我在App Designer中将其创建为视图时,会出现以下错误: 错误:UM_7902_VW-SQL错误。错误位置:27返回:1730-ORA-01730:指定的列名数无效 以下是我的sql: SELECT A.EMPLID, B.NAME, A.ADM_APPL_NBR, C.ADMIN_FUNCTION, A.STDNT_

我需要帮助在PeopleSoft中使用PeopleTools应用程序设计器创建视图。在ORACLE SQL Developer中运行下面的视图SQL时,它的选择非常好,但当我在App Designer中将其创建为视图时,会出现以下错误:

错误:UM_7902_VW-SQL错误。错误位置:27返回:1730-ORA-01730:指定的列名数无效

以下是我的sql:

SELECT A.EMPLID, B.NAME, A.ADM_APPL_NBR, C.ADMIN_FUNCTION, A.STDNT_CAR_NBR, 
A.ACAD_CAREER, D.APPL_PROG_NBR, D.ADMIT_TERM, C.CHECKLIST_CD, E.DESCRSHORT, 
C.CHECKLIST_STATUS, C.STATUS_DT, C.DUE_DT AS C_DUE_DT, C.COMM_COMMENTS, 
C.SEQ_3C, F.CHKLST_ITEM_CD,
G.DESCR, F.ITEM_STATUS, F.STATUS_DT, F.DUE_DT AS F_DUE_DT, F.RESPONSIBLE_ID
FROM PS_ADM_APPL_DATA A
JOIN PS_PERSON_NAME B ON B.EMPLID = A.EMPLID
JOIN PS_PERSON_CHECKLST C ON C.COMMON_ID = A.EMPLID
JOIN PS_ADM_APPL_PROG D ON D.EMPLID = A.EMPLID
AND D.EMPLID = A.EMPLID
AND D.ACAD_CAREER= A.ACAD_CAREER
AND D.STDNT_CAR_NBR= A.STDNT_CAR_NBR
AND D.ADM_APPL_NBR= A.ADM_APPL_NBR
AND D.EFFDT = 
(SELECT MAX(D2.EFFDT) FROM PS_ADM_APPL_PROG D2
WHERE D.EMPLID = D2.EMPLID
AND D.ACAD_CAREER = D2.ACAD_CAREER
AND D.STDNT_CAR_NBR = D2.STDNT_CAR_NBR
AND D.ADM_APPL_NBR = D2.ADM_APPL_NBR
AND D.APPL_PROG_NBR = D2.APPL_PROG_NBR
AND D2.EFFDT <= SYSDATE)
AND D.EFFSEQ =
(SELECT MAX(D3.EFFSEQ) FROM PS_ADM_APPL_PROG D3
WHERE D.EMPLID = D3.EMPLID
AND D.ACAD_CAREER = D3.ACAD_CAREER
AND D.STDNT_CAR_NBR = D3.STDNT_CAR_NBR
AND D.ADM_APPL_NBR = D3.ADM_APPL_NBR
AND D.APPL_PROG_NBR = D3.APPL_PROG_NBR
AND D.EFFDT <= D3.EFFDT)
JOIN PS_CS_CHKLST_TBL E ON E.CHECKLIST_CD = C.CHECKLIST_CD
AND E.EFFDT = (SELECT MAX(E2.EFFDT) FROM PS_CS_CHKLST_TBL E2 WHERE 
E2.INSTITUTION = E.INSTITUTION AND E2.CHECKLIST_CD = E.CHECKLIST_CD)
AND E.EFF_STATUS = 'A'
JOIN PS_PERSON_CHK_ITEM  F ON F.COMMON_ID = C.COMMON_ID
AND F.SEQ_3C = C.SEQ_3C
JOIN PS_SCC_CKLSITM_TBL  G ON G.CHKLST_ITEM_CD = F.CHKLST_ITEM_CD
AND G.EFF_STATUS = 'A'
AND G.EFFDT = (SELECT MAX(G2.EFFDT) FROM PS_SCC_CKLSITM_TBL  G2 WHERE 
G2.CHKLST_ITEM_CD = G.CHKLST_ITEM_CD)
JOIN PS_TERM_TBL H ON H.INSTITUTION = E.INSTITUTION
AND H.ACAD_CAREER = A.ACAD_CAREER
如果能得到任何帮助,我将不胜感激。谢谢

看起来好像您将create-view-some_-view-col1、col2、…、coln作为它的前一个版本,修改了您发布的select语句,添加或删除了一些列,一旦将它们粘在一起,列数就不再匹配了

最简单的解决方法是让Oracle来做,即不命名列:

create view some_view as
  select <your select goes here>

因为列查询返回必须有别名。

在应用程序设计器中对记录建模时:记录定义中的字段数量是否与select SQL中的字段数量相同?
这些必须匹配,否则在应用程序设计器中生成时会出现此错误。

。去掉一些东西。错误是否仍然存在,然后删除更多内容。直到找到问题为止。这不是create view语句。当视图列的数量与所选列不匹配,但在这里我们看不到视图列时,通常会发生错误。@Turo,您想看到哪些列?我想我可以提供。视图应该具有的列,如果您修复所有doublets,比如C和F@Turo你怎么解决这个问题?对不起,我没主意了。我想问题出在到期日字段上。因为需要在SQL中放入两个到期日,但插入时只允许1。
select max(some_value),  --> this - must have an alias
       my_name