SQLite 查询可能存在值的行?

Posted

技术标签:

【中文标题】SQLite 查询可能存在值的行?【英文标题】:SQLite Query for rows where value may exist? 【发布时间】:2014-06-24 17:25:14 【问题描述】:

我有一个包含以下列的表格: id、session_id、date_start、date_end、speaker_1、speaker_2、speaker_3、speaker_4、speaker_5

我想在此表中查询所有演讲者 ID 包含在 5 个演讲者列中的任何一个列中的所有会话。我还需要将一个表加入到 session_id 中,其中包含有关会话的其他信息。

我知道这个表结构不是我想要做的理想格式,但我现在无法更改表结构。

我很好奇最后如何查询扬声器值的条件部分。是否可以对列进行分组?

这里有基本的 SQL 经验。谢谢!

【问题讨论】:

【参考方案1】:

你可以使用in:

select s.*
from speakers s
where 1 in (speaker_1, speaker_2, speaker_3, speaker_4, speaker_5);

(假设您正在寻找 1 作为扬声器 ID。)

您可以使用in 列表中的变量。

【讨论】:

非常感谢您的快速响应!【参考方案2】:
WHERE :id IN (speaker_1, speaker_2, speaker_3, speaker_4, speaker_5)

【讨论】:

以上是关于SQLite 查询可能存在值的行?的主要内容,如果未能解决你的问题,请参考以下文章

Sqlite3 从列中具有相似值的行获取数据

如果表中的行存在,如何转义当前的 SQLite3 查询,但如果不存在则继续

计算 Unix 纪元时间是不是出现在今天的 SQLite 查询

sqlite中数据存在更新,数据不存在添加的语句怎么写

如何在 SQLITE3 中查询最近的行

有没有更快的方法来遍历 Sqlite 查询中的行?