Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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从一个包含多个Where子句的表中进行选择_Mysql_Sql - Fatal编程技术网

Mysql SQL从一个包含多个Where子句的表中进行选择

Mysql SQL从一个包含多个Where子句的表中进行选择,mysql,sql,Mysql,Sql,到处寻找这个问题的答案,却没有运气。我相信事情不会像我想的那么复杂 我有一张带有标题和代码的表格。代码是唯一的,可以有多个标题代码。 我希望能够选择那些有我列出的代码的标题 Titles Codes ----------------------------------- Book1 001 Book2 010 Book2

到处寻找这个问题的答案,却没有运气。我相信事情不会像我想的那么复杂

我有一张带有标题和代码的表格。代码是唯一的,可以有多个标题代码。 我希望能够选择那些有我列出的代码的标题

 Titles                        Codes
 -----------------------------------
 Book1                         001
 Book2                         010
 Book2                         020
 Book2                         021
 Book3                         030
 Book3                         040
所以我希望能够返回代码为020和021的标题。或者我列出的任何东西。 在本例中,它只返回Book2,因为该标题包含这两个代码

我最初试过

 SELECT Titles FROM table WHERE Codes = 020 AND Codes = 021 
但结果是零,我知道原因了。没有一行包含多个代码条目

 SELECT Titles FROM table WHERE Codes = 020 OR Codes = 021 
返回两个标题之一的标题。 所以我一直在尝试使用GROUPBY和一个子查询来获取它,但没有成功。
有人能帮忙吗?提前感谢

为了获取您要查找的数据,您需要在表上使用自联接:

SELECT * FROM table t1
JOIN table t2
ON t1.Title = t2.Title
WHERE t1.Codes = '020'
AND t2.Codes = '021'

为了获取您要查找的数据,您需要在表上使用自联接:

SELECT * FROM table t1
JOIN table t2
ON t1.Title = t2.Title
WHERE t1.Codes = '020'
AND t2.Codes = '021'
使用having子句:

使用having子句:


从my_表中选择m,其中a、b、c组中的x由m进行计数*=n;-其中n是从my_表中选择m中的项目数,其中a、b、c中的x按m分组,计数*=n;-其中n是INHuh中的项目数,这很聪明,但随着要匹配的因子数的增加,可能无法很好地扩展。为了提高性能,您可以在“分组依据”之前的“020”、“021”中添加where代码。感谢两位的帮助。但这个似乎不起作用。布莱恩的自我加入似乎起到了作用。Cheers@user3683463 . . . 这怎么不起作用?我已经多次使用类似的构造。嗯,这很聪明,但随着要匹配的因子数量的增加,可能无法很好地扩展。为了提高性能,您可以在“分组依据”之前添加“020”、“021”中的where代码。谢谢你们两位的帮助。但这个似乎不起作用。布莱恩的自我加入似乎起到了作用。Cheers@user3683463 . . . 这怎么不起作用?我已经多次使用类似的构造。太好了!自动加入!谢谢你,布莱恩,太好了,太好了!自动加入!谢谢你,布莱恩,太好了。