我有一个表格,我有一个像这样的选择查询:
select * from TableA where job="workers"
它给我带来了几行不同的idA&#39。
然后我想insert Into Table B
,我从TableA获得的行数与每个idA' s相同。
赞:Insert into TableB Values(IdB's, Ida's,...)
表示从所选查询返回的行数。
//编辑
我需要TableA中的每个numA,其中data1 = @ data1。 (我从选择的查询中得到了这个)
@ data1是我输入的参数。
对于每个这些numA,我想插入表B(numA,@ data2)
@ Data2是我输入的参数。
INSERT INTO TableB
Select (numCat from TableA)
VALUES (numcat, @data2);
WHERE data2 = @data2
怎么做?感谢
答案 0 :(得分:0)
Insert into TableB (colA, ColB, ColC)
select col1, col2, col3
from TableA
where job = 'workers'
答案 1 :(得分:0)
使用insert . . . select
:
insert into TableB(col1, col2, . . .)
select a.wcol1, a.wcol2, 'this is a constant', . . .
from tableA a
where job = 'workers';
编辑:
我认为这是您想要的查询:
INSERT INTO TableB
SELECT a.numCat, @data2
FROM TableA a
WHERE a.Data1 = @data1;
我不了解最终where
条款的目的。这让我怀疑你想要UPDATE
。不过,问题的其余部分建议和INSERT
。
答案 2 :(得分:0)
如果两个表都有相同的字段,您可以这样做:
INSERT INTO TableB
(SELECT * FROM TableA WHERE JOB='workers')