尝试创建一个表1数据以不同方式存储的视图

dxxyhpgq  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(291)

AAIAU决赛

ID   Data  
1    [2,96,801]

发动机2

ID   Data  Eng  
1    2     3.0  
1    96    4.0  
1    801   4.6  
1    999   5.0
Select  
Engine_willie2.ID,  
(  
CASE   
WHEN Engine_willie2.Data = aaiaflat_final.Data   
THEN Engine_willie.Data END  
)   
AS Data,  
(  
CASE   
WHEN Engine_willie2.Data = aaiaflat_final.Data   
THEN Engine_willie.Eng END  
)   
AS Eng  

FROM aaiaflat_final  

Left Join Engine_willie2 ON   
Engine_willie2.ID = aaiaflat_final.ID  

WHERE  

aaiaflat_final.ID <> ''

我希望查询如下所示
aces\U查询

ID   Data  Eng   
1    2     3.0  
1    96    4.0  
1    801   4.6

我不知道如何解析aaiaflat\u final表中的[2,96801],因为如果数据是2或任何其他与engine\u willie2中的数据列完全匹配的数据,那么查询就会工作。
任何帮助都将不胜感激。

qzwqbdag

qzwqbdag1#

连接上的表 id ,使用 replace() 去掉括号然后 find_in_set() 从样本数据生成所需结果。

SELECT e.id,
       e.data,
       e.eng
       FROM engine_willie2 e
            INNER JOIN aaiaflat_final a
                       ON a.id = e.id
       WHERE find_in_set(e.data, replace(replace(a.data, '[', ''), ']', ''));

相关问题