我有以下查詢:搜索欄
SELECT
Table1 . *
FROM
Table1
inner JOIN
Table2 ON Table1.Column1 = Table2.Column2
我想改變查詢發現,不僅Table1.Column1
之間的macth到Table2.Column2
但找到的所有數據,其中Table1.Column1
裏面Table2.Column2
字符串。
我需要做什麼?
我有以下查詢:搜索欄
SELECT
Table1 . *
FROM
Table1
inner JOIN
Table2 ON Table1.Column1 = Table2.Column2
我想改變查詢發現,不僅Table1.Column1
之間的macth到Table2.Column2
但找到的所有數據,其中Table1.Column1
裏面Table2.Column2
字符串。
我需要做什麼?
更改ON
子句
SqlServer的
ON Table2.Column2 LIKE '%'+Table1.Column1+'%'
MySQL的
ON Table2.Column2 LIKE CONCAT('%',Table1.Column1,'%')
如何像
SELECT
Table1 . *
FROM
Table1
inner JOIN
Table2 ON Table1.Column1 LIKE CONCAT('%',Table2.Column2,'%')
試試這個
SELECT
Table1.*
FROM
Table1
inner JOIN
Table2 ON T Table2.Column2 Like '%' + Table1.Column1 + '%'
如果是SQL SERVER
,使用CHARINDEX
SELECT
Table1 . *
FROM
Table1
inner JOIN
Table2 ON CHARINDEX(Table1.Column1, Table2.Column2) > 0
查詢結束時> 0是什麼? – Popa
如果CHARINDEX無法在要搜索的字符串中找到指定的文本,則回退0。如果找到該文本,它將返回該文本的位置。 > 0確保只有那些記錄組合顯示在Table2.Column2中找到Table1.Column1的位置 –
只注意到這個被標記MySQL和SQL服務器,這是什麼呢? – OGHaza