【发布时间】:2013-08-30 20:31:45
【问题描述】:
我想从一个表中选择并使用 CASE 语句连接三行。我更习惯于 C++,它会是一个 IF 语句,这里是错误的伪代码(这适用于任何要加入的行,即如果任何要加入的行具有 .. .)
IF (value1 == 1) // IF any of the rows have value1 == 1
{
value1 = 1;
value2 = 0;
}
ELSE IF (value1 == 0 && value2 == 1) // IF all of the rows have value1 == 0 and any have value2 == 1
{
value1 = 0;
value2 = 1;
}
例如,如果三行如下所示(ID 必须相同,不要问我为什么...)
ID value1 value2
--------------------
1 1 0
1 0 0
1 0 1
我希望得到的连接行是
1 1 0
但是,如果三个原始行看起来像
ID value1 value2
--------------------
1 0 0
1 0 0
1 0 1
那么我希望得到的连接行是
1 0 1
对于劣质的表格格式,我很抱歉,我不习惯标记。任何正确方向的帮助或指示将不胜感激。速度应该不是真正的问题,因为每个查询连接的行数不会超过三行。
【问题讨论】:
-
关于您的伪劣格式:只需将行缩进4个空格(或突出显示行并按工具栏上的“代码示例”按钮
{ })即可获得那些格式正确 -
如果您在 value1 和 value2 中使用其他数字,则可以更好地说明您的目标。当一切都是 1 或 0 时,要辨别您的目标并不容易。
-
我认为1和0最清楚,我应该使用什么,也许是一些复数?