表1 表2
表1id 表1name 表2id 表2name 表1id
1 北京 1 null 1
2 上海 2 null 2
3 深圳 3 null 2
4 广州 -1
5 武汉 -1
SELECT 表2id,case when 表1id=-1 then 表2name else (SELECT 表1name FROM 表1 where 表1.表1id =表2.表1id) end as 表2name FROM 表2
这样查询出来结果是
表2
表2id 表2name 表1id
1 北京 1
2 上海 2
3 上海 2
4 广州 -1
5 武汉 -1
我现在想要的like查询
比如 我想 like '%北%' 字 想要的结果是
表2
表2id 表2name 表1id
1 北京 1
比如 我想 like '%上%' 字 想要的结果是
表2
表2id 表2name 表1id
2 上海 2
3 上海 2
比如 我想 like '%武%' 字 想要的结果是
表2
表2id 表2name 表1id
5 武汉 -1
比如 我想 like '%%' 字 想要的结果是全部
表2
表2id 表2name 表1id
1 北京 1
2 上海 2
3 上海 2
4 广州 -1
5 武汉 -1
请问这mysql SELECT语句怎么写 求大神指点
表1id 表1name 表2id 表2name 表1id
1 北京 1 null 1
2 上海 2 null 2
3 深圳 3 null 2
4 广州 -1
5 武汉 -1
SELECT 表2id,case when 表1id=-1 then 表2name else (SELECT 表1name FROM 表1 where 表1.表1id =表2.表1id) end as 表2name FROM 表2
这样查询出来结果是
表2
表2id 表2name 表1id
1 北京 1
2 上海 2
3 上海 2
4 广州 -1
5 武汉 -1
我现在想要的like查询
比如 我想 like '%北%' 字 想要的结果是
表2
表2id 表2name 表1id
1 北京 1
比如 我想 like '%上%' 字 想要的结果是
表2
表2id 表2name 表1id
2 上海 2
3 上海 2
比如 我想 like '%武%' 字 想要的结果是
表2
表2id 表2name 表1id
5 武汉 -1
比如 我想 like '%%' 字 想要的结果是全部
表2
表2id 表2name 表1id
1 北京 1
2 上海 2
3 上海 2
4 广州 -1
5 武汉 -1
请问这mysql SELECT语句怎么写 求大神指点