sql - 通过将一列设为两列(或简单地将一列拆分为两列)来加入表以获取输出
问题描述
我正在尝试通过将一列作为两列(或简单地将一列拆分为两列)来加入一个表以获取输出
SELECT * FROM PRODUCT;
KEY| PRODUCT |CATEGORY
1 | trip |city
2 | trip |ocean
进入
KEY| PRODUCT |CATEGORY1 |CATEGORY2
1 | trip |city |ocean
解决方案
一种方法使用聚合。. . 但这仅适用于两类:
select min(key), product,
min(category), nullif(max(category), min(category))
from t
group by product;
更常见的是,在列出产品的多个值(例如类别)时,您会将结果放在 JSON 数组或字符串中:
select min(key), product,
string(category, ',') within group (order by category) as categories
from t
group by product;
推荐阅读
- elasticsearch - elasticsearch简单聚合后的基数聚合
- android-studio - Android Studio底部菜单渲染问题
- git - 如何向 git-lfs 跟踪的文件添加过滤器?
- django - Microsoft 365 ics 文件问题,同时使用“,”发送姓氏
- vb.net - 使用 VB.Net 从 Access 数据库下载文件到本地 PC
- javascript - 重复号码的正则表达式
- android - 如何使用 android Firebase 在手机身份验证选项中添加安全网令牌?
- html - 如何在用户输入等于 If Condition Using angular 时创建导航功能
- batch-file - 如何使用批处理文件杀死打开的应用程序?
- asp.net - 如何防止mvc中的onmouseover等XSS攻击?