SQL 语句将表 A 和表 B 中的记录插入表 C 并带有条件
本文关键字:插入 记录 有条件 语句 和表 SQL | 更新日期: 2023-09-27 18:34:11
如果表 B
中的另一个字段与我定义的值匹配,则从表 B 插入的值应来自表 B 中的一个字段。
例:我有一个变量 - int new = 6,
- 表 A 有字段:第一、第二、第三、第四、第六
- 表 B 有字段:第七、第八、第九
- 表 C 有字段:第一、第二、第三、第四、第八、第九
存储在变量中的定义值匹配,则插入表 B 中的值(第一个、第二个、第三个、第四个)和表 B 中的值(例如变量 new)。
我已经用 C# 完成了编程。
代码:下面的代码仅适用于将所有记录从小数表导出到数字表中。我已经尝试了对这段代码进行几次不同的调整,即。甚至添加另一个选择语句但没有成功。
sql = "INSERT INTO tablec (first, second, third, fourth, fifth)
SELECT first, second, third, fourth FROM tablea";
一个简单的例子会有很大帮助。
您需要一个联接,例如:
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;
为什么不做类似的事情
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
这是假设您已经设置了密钥。没有必要将数据移动到第三个表,如注释中所述,这将是重复的,这并不理想。