sql - 如何连接 2 个独立的表
问题描述
我正在使用 SQL 有 2 个独立的表 .1 表一个提供代码和 id 的数据看起来像
Code ID
AUD WH1
CND WH1
.2 表对这些代码有很长的描述,看起来像
colval Description
AUD|WH1 Australia records
CND|WH1 Canada records
列'colval'是列'code'和'id'与分隔符'|'的连接 #table 1.如何加入这些表以获得类似的结果
Code Description
AUD Australia records
CND Canada records
解决方案
您可以使用join
with 连接逻辑:
select t1.*, t2.description
from table1 t1 join
table2 t2
on t2.colv = t1.code || '|' || t1.id;
在 SQL Server 中:
select t1.*, t2.description
from table1 t1 join
table2 t2
on t2.colv = concat(t1.code, '|', t1.id);
不幸的是,Oracle 支持CONCAT()
但只有两个参数。因此,对于适用于两个数据库的代码:
select t1.*, t2.description
from table1 t1 join
table2 t2
on t2.colv = concat(concat(t1.code, '|'), t1.id);
推荐阅读
- python - Pandas:如何处理真正的大数据?
- android - 在 Umano SlidingUpPanel 中向上滑动后使顶部的面板消失
- mysql - 从双联表中选择最大值
- azure - 从 Azure Web App 访问本地数据库
- javascript - 在 D3 JS 中显示半甜甜圈饼图的值
- c - 无法获取客户端通过 TCP 发送的消息
- c# - 如何在 wix 安装程序中获取 .msi 运行位置?
- ruby-on-rails - 从 Ruby 文件访问 Pry 的 show-source 方法
- javascript - 函数转换为箭头函数 - 函数未定义
- java - Spring 控制器 RequestMapping PathVariable 中 URL 的零长度部分中断解析