使用count()从tableA INSERT INTO到tableB

时间:2014-04-30 06:47:58

标签: sql sybase

将行从一个表插入到另一个表中,我尝试使用count(*)来确保表OBJ_LINES中的line_no列设置为1,2,3,4 ..等等,以便添加每一行。

INSERT INTO OBJ_LINES(
id,
line_no)
SELECT (1,
(select count(*)+1 FROM OBJ_LINES WHERE id = 1)
FROM TEMPLATE_LINES tmp
WHERE tmp.id = 37;

(语法Sybase数据库) 如果TEMPLATE_LINES表包含多行,则会出现重复错误,因为count()似乎只计算一次,而不是TEMPLATE_LINES表中找到的每一行。

我如何编写sql来设置动态' line_no取决于给定id的当前行数?

1 个答案:

答案 0 :(得分:0)

INSERT INTO OBJ_LINES(
id,
line_no)
SELECT (1,
number(*)
FROM TEMPLATE_LINES tmp
WHERE tmp.id = 37;
相关问题