只有當第二行有特定條件時,我才需要選擇row_number視圖的第一行。僅當行號2的條件爲x時,才選擇row_number()的第一行?
現在,我該如何檢查行的狀態?
我可能會得到這樣的觀點:
row_num value
1 1
2 1
但是,我只需要在第一行,如果它看起來像這樣:
row_num value
1 1
2 2
所以,我想我需要的是這樣的:
「選擇第一行,當第二行中的值爲2」
如何做到這一點?
只有當第二行有特定條件時,我才需要選擇row_number視圖的第一行。僅當行號2的條件爲x時,才選擇row_number()的第一行?
現在,我該如何檢查行的狀態?
我可能會得到這樣的觀點:
row_num value
1 1
2 1
但是,我只需要在第一行,如果它看起來像這樣:
row_num value
1 1
2 2
所以,我想我需要的是這樣的:
「選擇第一行,當第二行中的值爲2」
如何做到這一點?
你的問題是有點不清楚,但是這個怎麼樣:
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時才行。
是對不對?
嗯,不,我猜。我正在計算第一行,這取決於第二行。後來我還需要計算第二和第三排。條件是第二行的值。我已經「過濾」了第一行,所以它會始終具有所需的值。這些行最終會按日期過濾。 – msa 2013-03-18 15:56:54
然後我建議你提供比2行更多的示例數據,並且更清楚地解釋你所追求的內容。其實我不知道... – fancyPants 2013-03-18 15:59:59
你需要光標爲此。 – vittore 2013-03-18 15:08:42
視圖中的所有列是什麼?另外,當'row_number' 2 *的值不是* 2時,你想要發生什麼? – AakashM 2013-03-18 15:10:12
@ aakashm不,有更多的colums,但這些基本上是我需要的唯一的。另外,「價值」只能是1或0(對不起,在開頭文章中輸入錯誤),因爲它的價值。 @ vittore:謹慎解釋?我看了一些教程,但我不明白這可以幫助我。 – msa 2013-03-18 15:27:42