【发布时间】:2015-09-09 18:02:32
【问题描述】:
此查询不起作用错误:01427. 00000 - “单行子查询返回多行”:
UPDATE table_name SET column_update =(
SELECT ROW_NUMBER()
OVER(order by column_day_job) from table_name
) WHERE column_pearson_id = 808;
此 SELECT 完美运行。我想以相同的顺序复制 sequence_day_job 列的 ROW_NUMBER () 值
SELECT column_person_id, column_day_job, sequence_day_job,
ROW_NUMBER()
OVER (PARTITION BY column_person_id
ORDER BY column_day_job)
FROM table_name;
UPDATE 10/09/2015 (01) - UPDATE 试图完成这样的事情,但它不起作用,如果临时表可以解决我的问题?这对于临时表的使用来说似乎是比较简单的事情,而 cmo 会反复认为使用临时表并不是那么有趣。
UPDATE table_name SET sequence_day_job = (
SELECT ROW_NUMBER() OVER (PARTITION BY column_person_id ORDER BY column_day_job)
FROM PC_COMENTARIO )xx
)WHERE column_person_id = 808; //ERROR: 01427. 00000 - “单行子查询返回多于一行”
【问题讨论】:
-
虽然知道什么不起作用很有趣,但如果您需要帮助使其起作用,您能说明它应该做什么吗?
-
'column_day_job' '不是表的物理列。这是ROW_NUMBER()的结果