sql - oracle pl/sql ORA-01790 : expression must have same datatype as corresponding expression

标签 sql oracle

SELECT SUM(SALES_AMOUNT)SALES,
YEAR,
MONTH,
CATAGORY_ID,
SALES_PERSON_ID,
ITEM_TYPE_ID
FROM APEX_FINAL
    where sales_amount is not null
     and catagory_id is not null
GROUP BY (YEAR,MONTH,CATAGORY_ID,SALES_PERSON_ID,ITEM_TYPE_ID)

union all

SELECT SUM(SALES_AMOUNT)SALES,
YEAR,
MONTH,
CATAGORY_ID,
'all others' SALES_PERSON_ID,
ITEM_TYPE_ID
FROM APEX_FINAL
    where sales_amount is not null
    and sales_person_id is null 
GROUP BY (YEAR,MONTH,CATAGORY_ID,SALES_PERSON_ID,ITEM_TYPE_ID)

这是我的代码,请帮助我解决我的问题,因为我遇到了错误的数学数据类型,但所有数据类型都相同

最佳答案

销售人员 ID 似乎不匹配。它可能是您表中的 NUMERIC 数据类型。

可能你可以在第一个联合查询中使用 TO_CHAR(SALES_PERSON_ID) ,如下所示。它会帮助你解决问题

SELECT SUM(SALES_AMOUNT)SALES,
YEAR,
MONTH,
CATAGORY_ID,
TO_CHAR(SALES_PERSON_ID) SALES_PERSON_ID,
ITEM_TYPE_ID
FROM APEX_FINAL
    where sales_amount is not null
     and catagory_id is not null
GROUP BY (YEAR,MONTH,CATAGORY_ID,SALES_PERSON_ID,ITEM_TYPE_ID)

union all

SELECT SUM(SALES_AMOUNT)SALES,
YEAR,
MONTH,
CATAGORY_ID,
'all others' SALES_PERSON_ID,
ITEM_TYPE_ID
FROM APEX_FINAL
    where sales_amount is not null
    and sales_person_id is null 
GROUP BY (YEAR,MONTH,CATAGORY_ID,SALES_PERSON_ID,ITEM_TYPE_ID)

关于sql - oracle pl/sql ORA-01790 : expression must have same datatype as corresponding expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053294/

相关文章:

mysql - 显示分组依据的所有行

mysql - mysql 中的连接表

python - Django GenericRelated 字段条件查询引发 'GenericRelation' 对象没有属性 'field'

oracle - 建立连接时,Oracle JDBC客户端会加密密码吗?

sql - 为什么oracle对于VARCHAR数据类型仅显示9999最大值?

sql - 查看具有表中某个列的外键的所有表?

phpmyadmin 触发器

sql - SQL获取记录条数的方法

sql - 如何在 Oracle Sql Developer 中查看解释计划?

sql - 具有空值的多行 - 我想要一行不为空