【发布时间】:2018-02-05 07:47:32
【问题描述】:
我正在尝试弄清楚如何格式化将执行复杂搜索的 SQL SELECT 命令
我有一个包含两个表的数据库。
文件
文件ID
文件路径
参数
参数名称
参数值
文件ID
目标是在参数中搜索多个值,然后仅返回具有所有值的文件 ID。
这些是媒体文件,所以参数是格式、视频宽度、音频编解码器等...我希望用户能够根据需要选择尽可能多的这些字段,然后让它返回匹配的文件所有参数。
例如,我想选择所有格式为 MKV、VideoCodec 为 AVC 和 AudioCodec 为 AAC 的文件。
我不知道该怎么做。如果我进行左连接,我可以让它与一个参数一起工作,但只要添加一个参数,它就会失败。我假设我需要使用嵌套连接,但我对 SQL 还不够好,无法弄清楚如何做到这一点。
如果重要的话,这是一个使用 SQLite3 的本地 C++ 应用程序。
【问题讨论】:
标签: sql sqlite relational-division