基本上,如果下面的此功能为真,我将尝试更新日期。
我将在MS Visual Studio中使用此代码将其与选中列表框中选中项的索引进行比较...
UPDATE rent
SET dat_vrac = CONVERT(smalldatetime, CURRENT_TIMESTAMP)
(SELECT CAST(rownumber AS VARCHAR)
FROM (SELECT dat_vrac, row_number()
OVER (order by dat_vrac) AS 'rownumber'
FROM rent) TableExpressionsMustHaveAnAliasForDumbReasons
WHERE (
cast (rownumber as varchar)
) > '0')
SqlCommand komanda = new SqlCommand("WITH CTE_RENT AS ( SELECT dat_vrac, ROW_NUMBER() OVER (order by dat_vrac) rn FROM rent) UPDATE CTE_RENT SET dat_vrac = CONVERT(SMALLDATETIME, CURRENT_TIMESTAMP) WHERE rn ='" + chlb_return.Items.Cast<int>() + "'", konekcija);
答案 0 :(得分:1)
由于您不喜欢对子查询使用别名。
ROW_NUMBER以1开头,而不是0。
所以尝试一下:
WITH CTE_RENT AS
(
SELECT dat_vrac
, ROW_NUMBER() OVER (ORDER BY dat_vrac) rn
FROM rent
)
UPDATE CTE_RENT
SET dat_vrac = CONVERT(SMALLDATETIME, CURRENT_TIMESTAMP)
WHERE rn > 1
但是可能是ROW_NUMBER需要用您只知道的东西进行分区。
, ROW_NUMBER() OVER (PARTITION BY house_id ORDER BY dat_vrac) rn