sql - SQL ORACLE make result in one row
问题描述
I'm using ORACLE 11G , I want to make a query but I dont know how it works , and if is it possible: This is my query :
SELECT DC.CLEF_NAME,DC.CLEF_X, DC.CLEF_Y, DC.CLEF_COL, DC.CLEF_ROW, DC.CLEF_CLASSCOLOR ,DCO.COLOR_NAME,DCO.COLOR_VALUE
FROM DASHBOARD_SAVE DS
LEFT JOIN DASHBOARD_CLEF DC ON DC.DASHBOARD_UID = DS.DASHBOARD_UID
LEFT JOIN DASHBOARD_COLOR DCO ON DCO.CLEF_UID = DC.CLEF_UID
WHERE DC.REGROUPEMENT_UID is null and DS.DASHBOARD_USERID = 'testok'
I got the result :
TESTDECLEF 1 1 1 1 BLUE 1 RED
TESTDECLEF 1 1 1 1 BLUE 2 PINK
But I want to get :
1 2
--------------------------------------
TESTDECLEF 1 1 1 1 BLUE RED PINK
Thanks for help
解决方案
我正在考虑这color_name
是 1,2 并且color_value
是 PINK,RED。
您可以使用pivot
如下:
Select * from
(SELECT DC.CLEF_NAME,DC.CLEF_X, DC.CLEF_Y, DC.CLEF_COL, DC.CLEF_ROW, DC.CLEF_CLASSCOLOR ,DCO.COLOR_NAME,DCO.COLOR_VALUE
FROM DASHBOARD_SAVE DS
LEFT JOIN DASHBOARD_CLEF DC ON DC.DASHBOARD_UID = DS.DASHBOARD_UID
LEFT JOIN DASHBOARD_COLOR DCO ON DCO.CLEF_UID = DC.CLEF_UID
WHERE DC.REGROUPEMENT_UID is null and DS.DASHBOARD_USERID = 'testok')
Pivot
(Max(COLOR_VALUE) for COLOR_NAME IN (1 as 1, 2 as 2)
);
或者你可以使用conditional aggregation
如下:
SELECT DC.CLEF_NAME,DC.CLEF_X, DC.CLEF_Y, DC.CLEF_COL, DC.CLEF_ROW, DC.CLEF_CLASSCOLOR,
Max(case when DCO.COLOR_NAME = 1 then DCO.COLOR_VALUE end) as 1,
Max(case when DCO.COLOR_NAME = 2 then DCO.COLOR_VALUE end) as 2
FROM DASHBOARD_SAVE DS
LEFT JOIN DASHBOARD_CLEF DC ON DC.DASHBOARD_UID = DS.DASHBOARD_UID
LEFT JOIN DASHBOARD_COLOR DCO ON DCO.CLEF_UID = DC.CLEF_UID
WHERE DC.REGROUPEMENT_UID is null and DS.DASHBOARD_USERID = 'testok'
Group by
DC.CLEF_NAME,DC.CLEF_X, DC.CLEF_Y, DC.CLEF_COL, DC.CLEF_ROW, DC.CLEF_CLASSCOLOR;
干杯!!
推荐阅读
- node.js - 我可以在不运行“npm run build”的情况下从快速服务器提供创建反应应用程序吗?
- android - 当 Spinner 下拉项聚焦(未选中)时,如何更改其背景颜色?
- c# - 为什么我在尝试将元数据添加到 GIF 图像时会出现异常?
- laravel - Laravel - “未找到请求的资源 /2010-04-01/Accounts//Messages.json”
- laravel - 有没有办法使用 jquery 插件将 pdf 文件上传到 laravel 项目?
- delphi - 如何使用 Delphi 在 Openoffice 文档的页眉/页脚/表格中搜索文本标签并替换为图像
- java - 在哪里可以找到 DropWizard 嵌入式 http 服务器的 conf?
- git - 尝试推送到 GitHub
- google-app-maker - 显示目录中的全名
- laravel - Heroku Dynos 是否为 Laravel 应用程序安全配置了开箱即用?