我希望在一个表上进行左连接,该表具有一个名为tags的数组列,其中一个表具有标记tag_definitions的定义。城市表中每行只有一个(最多)匹配。我无法使用字符串加入数组,我不确定如何继续。
Cities_Table
City_Code |州|标签
纽约市|纽约| 1,4,5
SF | CA | 2,4,6
CHI | IL | 3,8,10
Tag_Definitions
Tag_ID |名称
5 | East_Coast
6 | West_Coast
10 |中西部
所以我希望得到这样的东西......
City_Code |州|标签| Tag_Descr
纽约市|纽约| 1,4,5 | East_Coast
SF | CA | 2,4,6 | West_Coast
CHI | IL | 3,8,10 |中西部
答案 0 :(得分:0)
根据您的数据库(语法可能不同),您可以执行以下操作:
select *
from cities_table c
join tag_definitions t on concat(',',c.tags,',') like concat('%,',t.tag_id,',%')
然而,如上所述,更好的想法是创建一个City_Tags
表并将单个ID存储在该表中。通常,存储逗号分隔数据不是一个好主意。