SQL WHERE Help:拉出数据多行

时间:2013-11-22 22:33:24

标签: sql

我想拉出用户有Color = blue和Color = red的所有行。我有兴趣拉出这些多行来确定哪些用户将其颜色从蓝色变为红色,或从红色变为蓝色。

我现在的一般查询就是这个。有什么不对,怎么才能改进呢?谢谢!

这是否会返回Zero结果,因为我要求行的值同时为蓝色和红色? (这是不可能的) 我担心的是,如果我使用OR而不是AND,那么我将为用户提供蓝色或红色的行,但两种颜色之间没有变化。

我希望结果只显示第1行和第4行

SELECT *
FROM Table a
WHERE a.color='blue'
AND a.color='red'

表格结构如下

Row  |  Date  |  Userid  |  Session  |  Color
1    |  11/1  |   001    |     24    |  Blue        
2    |  11/2  |   002    |     25    |  Green
3    |  11/2  |   003    |     26    |  Yellow
4    |  11/6  |   001    |     32    |  Red

1 个答案:

答案 0 :(得分:0)

明显的问题是:

SELECT *
FROM Table a
WHERE a.color='Blue'
OR a.color='Red'

如果您愿意,您将需要存储具有以前颜色的字段(类似于历史记录),否则数据库中没有足够的信息来正确评估已更改的颜色。