联表查询的时候外键id是字符串

联表查询的时候外键id是字符串

例:

联表查询的时候外键id是字符串_第1张图片

第一种:可以使用:FIND_IN_SET 关键字进行查询(推荐)

SELECT
	t.task_name,
	t.task_id,
	t.common_ids,
	t.task_description,
	t.task_type,
	t.task_state,
	t.task_start_time,
	t.task_end_time,

	bac.title_name,
	bac.archive_num 
FROM
	task t
	LEFT JOIN biz_archive_common bac ON FIND_IN_SET( bac.id, t.common_ids )

结果:

联表查询的时候外键id是字符串_第2张图片

第二种:先对字符串进行截取:

联表查询的时候外键id是字符串_第3张图片

select
	substring_index(substring_index(task.common_ids,',',mysql.help_topic.help_topic_id+1),',',-1) as num,task_id
from
	task
join
	mysql.help_topic 
on
	mysql.help_topic.help_topic_id < LENGTH(task.common_ids)-LENGTH(replace(task.common_ids,',','')+1)

结果:

联表查询的时候外键id是字符串_第4张图片

比较:

联表查询的时候外键id是字符串_第5张图片

你可能感兴趣的:(MySQL,mysql)