【发布时间】:2018-09-03 00:10:29
【问题描述】:
在这里完成 SQL 新手。我有一个任务,我应该创建一大堆表,然后在它们之间执行某些过滤。 从图片中可以看出,这些实际上是 2 个不同的标题(来自一个更大的表,其中包含更多这些标题),但它们中的每一个都作为书籍、音频和视频副本,因此每个不同的标题有 3 行。
有什么方法可以让我根据标题扫描多行,然后为每个标题返回一行,说明它是否可用作视频和音频?因此,只要在任何 3 行中,“available_in_audio”或“available_in_video”中的答案是肯定的,“是”将覆盖之前或之后扫描的任何列的“否”。
例如,对于 3 行《哈利波特与密室》,我只想要一个“Available_in_Audio”为“是”且““Available_in_Video”为“是”的行。
非常感谢您提出这么长的问题!
【问题讨论】:
-
你应该规范化你的模式,把这个表分成两个。
-
我支持您对规范化@eggyal 的评论,但说将此表分成两个是我不支持的规范化。因为对 topicstarters 数据的规范化可能需要两个以上的表。
-
这是公平的评论,@RaymondNijland。
-
GROUP BY和MAX用于音频和视频列