用于将表A和表B中的记录插入带有条件的表C的SQL语句

时间:2016-02-10 13:02:48

标签: c# sql sql-server

如果表B中的另一个字段与我定义的值匹配,则从表B插入的值应该来自表B中的一个字段。

实施例: 我有一个变量 - int new = 6,

  • 表A包含字段:第一,第二,第三,第四,第六
  • 表B有字段:第七,第八,第九
  • 表C包含字段:第一,第二,第三,第四,第八,第九

从表A插入表C值(第一,第二,第三,第四),如果第八个匹配存储在变量new变量new中的定义值,则从表B中插入第八和第九。

我在C#中完成了编程。

代码:以下代码仅适用于将小数表中的所有记录导出到数字表中。我已经尝试了几个不同的调整代码,即。甚至添加了另一个选择语句但是没有成功。

sql = "INSERT INTO tablec (first, second, third, fourth, fifth) 
            SELECT first, second, third, fourth FROM tablea";

一个简单的例子可以帮助很多。

2 个答案:

答案 0 :(得分:1)

您想要加入,例如:

INSERT INTO tablec (first, second, third, fourth, fifth, eighth, ninth) 
    SELECT a.first, a.second, a.third, a.fourth, b.eighth, b.ninth
    FROM tablea a CROSS JOIN
         tableb b
    WHERE b.eighth = $new;

答案 1 :(得分:0)

为什么不做类似

的事情
SELECT A.first, A.second, A.third, A.forth, B.eighth, B.ninth 
FROM A  
INNER JOIN A on A.id = B.id
WHERE B.eighth = yourvalue

假设您已设置密钥。没有必要将数据移动到第三个表格,如评论中所提到的那样,这将是不完美的重复。