SQLite查询可能存在值的行?

时间:2014-06-24 17:25:14

标签: sql sqlite

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

我想在此表中查询所有会话,其中speaker_id包含在5个扬声器列中的任何一个中。我还需要将表连接到session_id,其中包含有关会话的其他信息。

我知道这个表结构并不是我想要做的理想格式,但是我不能在这一点上改变表结构。

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用in

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

(假设您正在寻找1作为演讲者ID。)

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

答案 1 :(得分:0)

WHERE :id IN (speaker_1, speaker_2, speaker_3, speaker_4, speaker_5)