我有两个表TableA
和TableB
。
TableA
的列名为Code
像
'A'
'AB'
'B'
'BB'
在TableB
中,我有一个名为pnrcode
的列,如
'A001'
'AB001'
'B001'
'BC001'
两个表都没有关系。
我想将基于TableA
代码的这两个表与TableB
pnrcode结合起来,并匹配基于TableA
的字符
答案 0 :(得分:0)
如果您使用的是MySql 8. *,则可以在子查询中使用REGEXP_SUBSTR来联接两个表
SELECT a.*, b.prncode
FROM TableA a
JOIN (SELECT *, REGEXP_SUBSTR(prncode, '^[A-Z]+') as code
FROM TableB) b ON a.code = b.code
答案 1 :(得分:0)
尝试以下带有联接的代码。您可以根据需要使用任何联接。
xAxis: [{
...,
categories: ['Very High', 'High', 'Medium', 'Low']
},
{
...,
categories: [1, 2, 3, 4]
},
],
...,
series: [{
...,
data: [
[0, 5],
[0, 7],
[1, 9],
[1, 11],
[2, 12],
[2, 14],
[3, 17],
[3, 18]
]
},
{
...,
data: [1, 2, 3, 4]
}
]
答案 2 :(得分:0)
您可以使用replace()
从code
中删除pnrcode
。
如果剩下的是number > 0
(MySql进行隐式转换),则加入该变量:
select *
from tablea a left join tableb b
on replace(b.pnrcode, a.code, '') > 0
我假设所有pnrcode
的数字部分均不是0
。
请参见demo。
结果:
| code | pnrcode |
| ---- | ------- |
| A | A001 |
| AB | AB001 |
| B | B001 |
| BB | |
答案 3 :(得分:0)
,其中res为 (从表A a中选择dbo.AlphaOnly(a.Prccode)作为Prccode1 *) SELECT * from res在b.Code = res.prccode1上加入Tableb b 去