SQL 语句 OR:显示其中包含值的每一行故障

SQL Statement OR: show every row with the value in it malfunction

我有一个非常具体的问题:

我在 Access 中有一个包含公司和不同角色的列表,所有内容都在一个 Table 中,它看起来像这样:

公司 // 角色 1 // 角色 2 // 角色 3 // 角色 4 //

Comp1 // 泰德 // // // 吉米 //

Comp2 // Lin // Ted // Andy // //

等等...

我现在需要做一个 sql 声明,它给出了每个公司(行),例如,Ted 在其中扮演了一个角色。

我在 SQL 下的 Access 中这样尝试过 - 语句:

SELECT Firmen.Firma, Firmen.[Role1], Firmen.[Role2], Firmen.[Role3]
FROM Firmen
WHERE (((Firmen.[Role1])="Ted") AND ((Firmen.[Role2])="Ted") AND ((Firmen.[Role3])="Ted"));

但是它只显示第一列中 Ted 所在的行,我知道其中可能存在一个愚蠢的错误,我已经遇到过这个问题,但我不记得上次是如何解决的。

如果你能帮上忙就太好了,因为我工作确实需要它

您正在使用 and 逻辑运算符而不是 or 逻辑运算符。改变它,你应该没问题。或者更好的是,您可以使用 in 运算符:

SELECT Firmen.Firma, Firmen.[Role1], Firmen.[Role2], Firmen.[Role3]
FROM   Firmen
WHERE  "Ted" IN (Firmen.[Role1], Firmen.[Role2], Firmen.[Role3])