显示至少两个匹配值的结果,并将一个匹配设置为primary

时间:2017-10-02 09:34:42

标签: sql sql-server

如何显示人员有2个匹配值且颜色为蓝色和红色且人员蓝色主要设置为1且红色为0

的结果
PersonList  primary   color
person1       1       blue
person1       0       red
person2       1       blue       
person3       1       red
person3       0       blue
person4       1       blue
person4       0       red
person4       1       blue

结果应显示Person1和Person 4

注意:只要蓝色的主要设置为1,红色设置为0。

到目前为止,这是我在上面的结果中的查询

Select * person p Inner Join COLOR c ON p.person_colorid = c.person_colorid

我已尝试过此查询,但我知道这有错误。其中将显示红色,主要为1,蓝色为1

人员表包含[personList],[person_colorid]和[is_primary],而颜色表包含[color]和[person_colorid]

Select * person p Inner Join COLOR 
c ON p.person_colorid = c.person_colorid where c.color IN (blue,red) AND p.primary = 1

1 个答案:

答案 0 :(得分:0)

使用my_time | nb_in_the minute | nb_in_the_2_minutes| 2017-04-05 16:09:10 | 1 | 1 | 2017-04-05 16:09:13 | 2 | 2 | 2017-04-05 16:09:18 | 3 | 3 | 2017-04-05 16:10:44 | 1 | 4 | 2017-04-05 16:11:52 | 1 | 2 | 表达式检查符合这两个条件的CASE条件。

<强>查询

PersonList