mysql - SQL 将 2 个表合并在一列中,以逗号分隔
问题描述
您好,我对 SQL 查询有疑问,我想从 2 个表 5 列中组合并用逗号分隔,下面我发布了表的外观。
在示例中:
名称:长度,j1:mm,j2:cm,j3:NULL,j4:m
名称:大小,j1:NULL,j2:NULL,j3:NULL,j4:NULL;
查询后的结果我想要这样的东西:
如果在行中我发现 NULL 我们应该返回“-”
我正在尝试 Concat 但我不知道如何返回 - 如果我找到空白行
解决方案
我想你想要coalesce()
和concat_ws()
。像这样的东西:
select concat_ws(',',
coalesce(name, '-'),
coalesce(j1, '-'),
coalesce(j2, '-'),
coalesce(j3, '-'),
coalesce(j4, '-')
)
from t1 left join
t2
using (t2_id)
推荐阅读
- cordova - 我可以使用 cordova 开发使用 opencv.js 的 android 应用程序吗?
- android - Android 应用程序 - 在 WebView 中打开使用 WebRTC 的 URL 时出错
- python - 从数组字符串中删除重复项
- apache-flink - Apache Flink 1.9.0 与 Apache Beam 版本的兼容性
- cakephp - CakePHP 3:通过电子邮件发送多个附件
- java - Gradle Android“在模块栏中发现重复的类foo”错误
- javascript - 如何在角度中使用foreach获取数组中的数据
- java - 插入不应小于当前日期验证的数据
- c++ - 如何使用 CryptoApi 使用 AES-128 加密超过一个块大小的缓冲区
- dialogflow-es - conv.user.id 是未定义的,因此它不会将数据保留在对话流履行操作-on-google 中的 conv.user.storage 中。我该如何解决?