兩串分裂與 '' 是這樣的:
我怎樣才能確定兩個字符串在sql中有交集?
一個: '1,2,3,4,5'
B: '6,2,1,3,9'
我想,以確保這些字符串,如果有交集..
有什麼功能在MySQL中可處理呢?
thx!
兩串分裂與 '' 是這樣的:
我怎樣才能確定兩個字符串在sql中有交集?
一個: '1,2,3,4,5'
B: '6,2,1,3,9'
我想,以確保這些字符串,如果有交集..
有什麼功能在MySQL中可處理呢?
thx!
我必須強調,只是問問題明確表明你的數據結構是錯誤的。你應該爲每個配對都有一個表格。它會有這樣的行:
a 1
a 2
. . .
b 6
b 2
etc.
而這個問題可以很容易地解決使用標準的SQL。也就是說,如果你因爲某種原因被強迫這樣做,MySQL有一些可以提供幫助的功能。你可以這樣做:
where find_in_set(substring_index(substring_index(a, ',', 1), ',', -1), a) > 0 or
find_in_set(substring_index(substring_index(a, ',', 2), ',', -1), a) > 0 or
find_in_set(substring_index(substring_index(a, ',', 3), ',', -1), a) > 0 or
find_in_set(substring_index(substring_index(a, ',', 4), ',', -1), a) > 0 or
find_in_set(substring_index(substring_index(a, ',', 5), ',', -1), a) > 0 or
. . .
表達substring_index(substring_index(a, ',', 5), ',', -1)
是一個MySQL的表達,在一個字符串返回第n個值。
但這些字符串在運行時決定.mybe'1,2,3''1,2,3,4,5,6'或'7,4,2,6,7,8''0,2,4 ,9' – 2013-03-06 04:18:38
[This](http://www.1keydata.com/sql/sql-intersect.html)可能對您有所幫助。 – 2013-03-06 00:49:38
不幸的是,這是當你無法規範化你的數據庫時你遇到的那種問題。 – dasblinkenlight 2013-03-06 00:51:22
@dasblinkenlight是的!就是這樣! – 2013-03-06 01:11:50