Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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 组合X列值相等但Y列值不同的SQL行(需要重写)_Mysql_Sql_Filtering - Fatal编程技术网

Mysql 组合X列值相等但Y列值不同的SQL行(需要重写)

Mysql 组合X列值相等但Y列值不同的SQL行(需要重写),mysql,sql,filtering,Mysql,Sql,Filtering,这里是SQL的新手。我有一个任务,我应该创建一大堆表,然后在其中执行某些过滤。 从图中可以看出,这实际上是两个不同的标题,而一个较大的表中有更多的标题,但每个标题都是一本书、音频和视频副本,因此每个不同的标题有3行 是否有任何方法可以根据标题扫描多行,然后为每个标题返回一行,说明它是否可用作视频和音频?因此,只要在任意3行中,available_in_audio或available_in_video中的答案是yes,则“yes”将覆盖之前或之后扫描的任何列的“no” 例如,对于《哈利波特与密室》

这里是SQL的新手。我有一个任务,我应该创建一大堆表,然后在其中执行某些过滤。 从图中可以看出,这实际上是两个不同的标题,而一个较大的表中有更多的标题,但每个标题都是一本书、音频和视频副本,因此每个不同的标题有3行

是否有任何方法可以根据标题扫描多行,然后为每个标题返回一行,说明它是否可用作视频和音频?因此,只要在任意3行中,available_in_audio或available_in_video中的答案是yes,则“yes”将覆盖之前或之后扫描的任何列的“no”

例如,对于《哈利波特与密室》的3行,我只想要一行,其中音频中可用的是,视频中可用的是

非常感谢,很抱歉问了这么长的问题

试试这个

SELECT Title, 
    CASE WHEN (MAX(CASE WHEN Available_in_Audio = 'Yes' THEN 1 ELSE 0 END)) = 1 THEN 'Yes' ELSE 'No' END) AS Available_in_Audio,
    CASE WHEN (MAX(CASE WHEN Available_in_Video = 'Yes' THEN 1 ELSE 0 END)) = 1 THEN 'Yes' ELSE 'No' END) AS Available_in_Video,
FROM <YourTable>
GROUP BY TITLE

您应该通过将此表一分为二来规范化您的模式。我支持您关于normalization@eggyal的评论,但我不支持将此表一分为二是规范化。因为规范化topicstarters数据可能需要两个以上的表。这是公平的评论,@RaymondNijland.GROUP BY和MAX用于音频和视频专栏我知道我不应该评论谢谢,但非常感谢!它确实成功地将它们分组,并且与我用来检查的另一个参数相符。我现在就去读一些案例,谢谢!如果它帮助你把我的答案标记为答案。谢谢大家,-