【发布时间】:2020-03-31 06:12:36
【问题描述】:
我需要根据 tiemperiod 连接两个表。
这样
table1.dateperiod =table2.(期间和年份的组合)
即 201906=201906 (2019 年月份是 6 两个整数)
即 20183112=20183112
问题是如何在 period 为 6 时连接它们,这样连接后它将是 201906 而不是 20196 和
表 1
ID NAME DATE_PERIOD
1 conan 201906
1 conan 202012
1 conan 20183112
2 andy 201903
表2
ID PROFILE YEAR PERIOD
1 host 2019 6
1 writer 2018 3112
1 anchor 2020 12
2 sidekic 2019 3
请参考这个 db fiddle -here
select
*
from table2 t2
inner join table1 t1 on t1.id = t2.id and t1.date_period= (t2.year*100+t2.period)
预期的解决方案
ID PROFILE YEAR MONTH ID NAME DATE_PERIOD
1 anchor 2020 12 1 conan 202012
1 host 2019 6 1 conan 201906
1 sidekick 2020 12 1 andy 202003
1 writer 2018 3112 1 conan 20183112
【问题讨论】:
-
Sybase 还是 Oracle?这是两种截然不同的数据库产品
标签: sql oracle join concatenation sybase