问候女士们和不安分的男士们, 我有一个巨大的山区问题。
我有一个表,在几列中有逗号分隔值,我只需要理解这些。 如何从列名为“
”的列中获得 James1. Ron,David,James,Jermy
然后获得他得分的目标数量,这些目标存储在 8
的其他列目标中2. 3,5,8,2
然而,我可以找到Jermy使用FIND_IN_SET,但我无法得到他得分的目标。
非常感谢您的简短回复。
答案 0 :(得分:2)
这样的解决方案可能有效:
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(
'3,5,8,2',
',',
FIND_IN_SET('James', 'Ron,David,James,Jermy')),
',',
-1)
FIND_IN_SET
将返回3,因为詹姆斯位于第3位SUBSTRING_INDEX
将返回3,5,8
(它将在第三个逗号之前返回子字符串)SUBSTRING_INDEX
将返回8(它将返回最后一个逗号之后的子字符串,因为-1)但在列中存储逗号分隔值通常不是一个好主意。