簡體   English   中英

在字符串值上連接表

[英]Join tables on string value

我有兩個表A和B.每個表都有一個string類型的列“name”。 我希望從連接操作中獲取所有記錄,其中A.name是B.name的子字符串。

select * from A inner join B on A.name like concat('%',B.name,'%');

結果是一張空表。 該查詢出了問題,因為如果我通過測試得到了結果

select * from A cross join B where A.name like 'test' and B.name like '%test%';

因為我得到了靜態值“test”的一些記錄。

第一個查詢將B匹配為A的子字符串。您需要:

select * from A inner join B on B.name like concat('%',A.name,'%');

要么

select * from A inner join B on position(A.name in B.name) > 0;

如果你想匹配A.name是的一個子B.name ,然后再表達B.name LIKE '%A.name%' 嘗試這個:

select *
from A inner join B
on B.name like '%A.name%'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM