0

仅当第二行具有特定条件时,我才需要选择 row_number 视图的第一行。

现在,我如何检查行的条件?

我可能会得到这样的看法:

row_num   value
1          1
2          1

但是,我只需要第一行,如果它看起来像这样:

row_num   value
1          1
2          2

所以,我想我需要的是这样的:

“当第二行的值为2时选择第一行”

怎么做?

4

1 回答 1

0

你的问题有点不清楚,但是这个怎么样:

SELECT
*
FROM
yourView v1
LEFT JOIN yourView v2 ON v1.row_num = v2.row_num -1
WHERE 
MOD(v1.row_num, 2) != 0
AND v2.value = 2

有了MOD(v1.row_num, 2) != 0你,你只会得到 row_num 奇数的行,因为我理解你的问题是这样的:

table
-----
type | row_num | value
a      1         x
b      2         y
a      3         z
b      4         xx

您只需要 a 类型的行,并且仅当相应 b 行的值为 2 时。

这是正确的吗?

于 2013-03-18T15:44:24.290 回答