鍍金池/ 問答/數(shù)據(jù)庫/ SQL多表模糊匹配的問題

SQL多表模糊匹配的問題

比如我的兩張表A,B。
A中存在字段 cola ,為String格式,有值例如"北京昌平"
B中存在字段 colb ,為String格式,有值例如"昌平"
想將cola 和 colb模糊匹配關聯(lián)起來。
目前的代碼是
select * from A join B on B.cola like "%"+B.colb+"%";

但是會報錯:
only accepts non-equal join conditions with an equal join conditon "%"。

求各位大神解答。

回答
編輯回答
夢若殤

是不是不能用雙引號呀,你用單引號試試。

我用 sql server 測試沒問題。

clipboard.png

2017年5月17日 21:18
編輯回答
朽鹿
--熊嘚、你sql語句的格式都錯了、
--應該是 '%'+ B.colb +'%'
--sql里面`varchar`類型的數(shù)據(jù)都用''包含起來的、
--建議多看看sql的語法規(guī)則
2018年2月9日 18:24
編輯回答
茍活
create table test(
    tname varchar(255) comment '姓名'
) comment '測試表'

insert into test(tname) values('李雷雷'),('李雷'),('韓梅梅')

select * from test;

select * from test where tname like '%李%';
  • 以上的sql是在mysql數(shù)據(jù)庫測試通過,你的sql語法有問題。
  • java開發(fā)中使用mybatis語法:
<select id="list" resultType="map">
    /* sql */
    select * from person where name like CONCAT('%',#{condition},'%') order by birthday ASC
</select>
2017年6月5日 04:42