Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL查询,用于检查列中的任何单元格是否与一组给定字符串匹配。_Mysql - Fatal编程技术网

Mysql SQL查询,用于检查列中的任何单元格是否与一组给定字符串匹配。

Mysql SQL查询,用于检查列中的任何单元格是否与一组给定字符串匹配。,mysql,Mysql,我在一列中有这些数据 Steffi | ND Baumecker | Cassy 我想做一个查询,看看上面的任何一个是否存在于另一列中 其他列的示例(艺术家为列名) 我认为LIKE在这里不起作用,所以我想知道在进行匹配时,我可以使用什么查询从“artist”列返回艺术家名称——因此在上面的示例中,将返回“Steffi” 我是否还需要删除第一列中|前后的空格 谢谢 如果我正确理解您的问题:您想使用列中的值筛选行,并在另一列中搜索这些值吗 SELECT a.first_name, a.last_n

我在一列中有这些数据

Steffi | ND Baumecker | Cassy
我想做一个查询,看看上面的任何一个是否存在于另一列中

其他列的示例(艺术家为列名)

我认为LIKE在这里不起作用,所以我想知道在进行匹配时,我可以使用什么查询从“artist”列返回艺术家名称——因此在上面的示例中,将返回“Steffi”

我是否还需要删除第一列中|前后的空格


谢谢

如果我正确理解您的问题:您想使用列中的值筛选行,并在另一列中搜索这些值吗

SELECT a.first_name, a.last_name, a.nickname
FROM artist AS a
WHERE a.related_nickname IN (
    SELECT sa.nickname
    FROM artist AS sa
    WHERE sa.popularity > 30
)
MySQL文档:

看来你正在努力完成一项复杂的任务,我建议你尝试几件事

  • 子查询很有用,但会使查询速度慢得多,因此使用两个查询可能会加快速度。第一个查询将选择用于筛选的值,第二个查询将搜索行

  • 如果按字符串筛选,请考虑使用表中的索引:


如果我正确理解您的问题:您想使用列中的值筛选行,并在另一列中搜索这些值吗

SELECT a.first_name, a.last_name, a.nickname
FROM artist AS a
WHERE a.related_nickname IN (
    SELECT sa.nickname
    FROM artist AS sa
    WHERE sa.popularity > 30
)
MySQL文档:

看来你正在努力完成一项复杂的任务,我建议你尝试几件事

  • 子查询很有用,但会使查询速度慢得多,因此使用两个查询可能会加快速度。第一个查询将选择用于筛选的值,第二个查询将搜索行

  • 如果按字符串筛选,请考虑使用表中的索引:


你为什么不认为like会起作用呢。事实上,一个简单的=将起作用,但我会在中使用:从MYTABLE中选择Artister,其中artist In('steffi','no baumecker','cassy')感谢kainaw-想知道如何在查询中将steffi | ND baumecker | cassy转换为('steffi','ND baumecker','cassy您可以拍摄替换('|','然后使用mysql函数FIND_IN_SETWhy don't you think like将起作用。事实上,一个简单的=将起作用,但我会在中使用:从MYTABLE中选择artist,其中artist In('steffi'、'no baumecker'、'cassy')感谢kainaw-我想知道如何从查询中将steffi | ND baumecker | cassy转换为('steffi'、'ND baumecker'、'cassy')?您可以拍摄一个替换('124'、'cassy),然后使用mysql函数FIND_In|SET