如何在视觉工作室

时间:2015-06-07 12:29:37

标签: mysql sql

我有一个表格,我有一个像这样的选择查询:

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

怎么做?感谢

3 个答案:

答案 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')