sql - Oracle - 加入逗号分隔的数据
问题描述
我有两张桌子。
1.Table A 2.Table B
**A.Class** **B.ID**
P,H,P0101 P0101
p P
H
P0101
我需要结果
B.ID A.Class
P0101 P,H,P0101
P0101 P0101
P P,H,P0101
P P
非常感谢。
解决方案
您可以将要匹配的 和包含要匹配class
的字符串包装在分隔符中,以确保匹配完整,然后在子字符串匹配时加入:id
,
id
SELECT b.id, a.class
FROM A
INNER JOIN B
ON ( ','||a.class||',' LIKE '%,'||b.id||',%' )
其中,为您提供样本数据:
CREATE TABLE a ( class ) AS
SELECT 'P,H,P0101' FROM DUAL UNION ALL
SELECT 'P' FROM DUAL UNION ALL
SELECT 'H' FROM DUAL UNION ALL
SELECT 'P0101' FROM DUAL;
CREATE TABLE B ( id ) AS
SELECT 'P0101' FROM DUAL UNION ALL
SELECT 'P' FROM DUAL;
输出:
ID 班级 P0101 P,H,P0101 P0101 P0101 磷 P,H,P0101 磷 磷
db<>在这里摆弄
推荐阅读
- ios - 应用程序设置 FirebaseMessaging 委托时应用程序崩溃
- ios - 选择和取消选择按钮集合
- mysql - 如何从视图中的 *sql.Rows 类型的变量中获取值?
- python - Pandas - 如何使用相邻列的值预测另一列的值
- sql - 按另一列选择表中的最新条目
- android - 制作一个搜索 Google 和 URL 的 webview 搜索栏
- r - 获取 xml 节点集中属性的两个最常见值
- amazon-web-services - 有没有什么优雅的方法可以以最小的延迟跨 aws 区域复制 redis 数据?
- ios - Xamarin.iOS - 发布应用程序 - 无效的 Swift 支持 - 文件......不匹配
- ruby-on-rails - 需要使用 rails 将 post_id 和 user_id 存储在 read_statuses 表中