table1.varchar上的table1 join table2等于prefix + table2.numeric_id + suffix

时间:2017-03-26 09:55:39

标签: mysql

我正在编写以下查询:

SELECT * FROM notes inner join item_source 
 on notes.item_ids=CONCAT(CONCAT(',', cast(item_source.id as varchar(10))), ',')

item_source.id是表item_source的主键(数字,auto_increment)。 notes.item_ids是表格注释的varchar字段。

我希望item_source.id = 18notes.item_ids = ',18,'匹配。

我收到以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(10))), ',')

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要将其转换为char数据类型,然后才能获得结果

SELECT * FROM notes inner join item_source  在notes.item_ids = CONCAT(CONCAT(',',cast(item_source.id为char(10))),',')