sql - 如何将 GROUPING 值从 0/1 更改为 no/yes?

标签 sql oracle grouping

如何将列使用的部门 ID使用的作业 ID 值从 0/1 更改为 /

enter image description here

这是我的查询:

SELECT d.department_name "department name", e.job_id "job title",
       SUM(e.salary) "monthly cost",
       GROUPING(d.department_id) "Department ID Used" ,
       GROUPING(e.job_id) "Job ID Used"
  FROM employees e
  JOIN departments d
    ON e.department_id=d.department_id
 GROUP BY CUBE(d.department_name, d.department_id, e.job_id)
ORDER BY d.department_name, e.job_id

最佳答案

您可以将 CASE WHEN 子句添加到 GROUPING BY 中:

CASE WHEN GROUPING(d.department_id) = 0 THEN 'NO' ELSE 'YES' END

CASE 可以在 SQL 和 PLSQL 中使用
DECODE 特定于 Oracle,只能在 SQL 中使用。

关于sql - 如何将 GROUPING 值从 0/1 更改为 no/yes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68951159/

相关文章:

python - 在Python中将每日数据汇总并求和到每月

sql - 需要 .sql 文件

mysql - SQL 迁移。保留旧 ID 无效

sql - 如何在 Squirrel SQL 客户端 3 中定义/声明和使用变量

java - RJDBC、Java 连接到 Oracle 数据库崩溃

image - 如何从 pdf 文件中提取 'clusters' 图像?

Python 加载一组 .csv 文件到 MySQL

php - 为什么这个 PHP/SQL 不创建表?

oracle - 当变量为 null 时则为 null 的情况

Mysql group by产生一行