Can*_*ncü 1 mysql sql-match-all
我正在尝试获取某些多个col2值的col1值.例如:我想看到col2的"1,2,3,4"值的col1值(在col1中为"1").col2的"1,2"的另一个例子:col1值是"1,2".我如何设法在SQL语法中执行此操作?

你想要什么称为关系分裂.有几种方法可以实现它.检查此问题,该问题针对类似问题有十多种不同的解决方案 - 包括基准测试:如何在多次通过关系中过滤SQL结果
这是其中一种方式(假设(col1, col2)组合是唯一的):
SELECT col1
FROM tableX
WHERE col2 IN (1, 2, 3, 4)
GROUP BY col1
HAVING COUNT(*) = 4 --- the size of the above list
Run Code Online (Sandbox Code Playgroud)
另一个:
SELECT t1.col1
FROM tableX AS t1
JOIN
tableX AS t2
ON t2.col1 = t1.col1
AND t2.col2 = 2
JOIN
tableX AS t3
ON t3.col1 = t1.col1
AND t3.col2 = 3
JOIN
tableX AS t4
ON t4.col1 = t1.col1
AND t4.col2 = 4
WHERE t1.col2 = 1
Run Code Online (Sandbox Code Playgroud)