不同结构的表数据新增-SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录

问题描述

SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录
insert into A(no,name,status)values
(
    select no,name,'Add' from B where B.no not in
    (select no from A)
)

A(no,name,status)
B(no,name)
no是主键,上面这么写报错,请问要怎么改 ?

解决方案

 insert into A(no,name,status)
    select no,name,'Add' from B where B.no not in
    (select no from A)

解决方案二:

括号是把单个的数值变成表。你的Select出来已经是表了,就不用括号了

解决方案三:

一楼的是正解,不要用括号和values了。

时间: 2024-12-28 12:07:27

不同结构的表数据新增-SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录的相关文章

sql server-FOR XML如何将两张表(一对多)的数据分开显示成xml格式

问题描述 FOR XML如何将两张表(一对多)的数据分开显示成xml格式 各位大神请赐教,膜拜~~~ 要求用FOR XML 转换成如下格式的xml 表一HH HID HNAME HVALUE 1 AA 一二三 2 BB 四五六 表二DD HID DID DNAME DVALUE 1 1 张三 跳绳 1 2 李四 体操 2 3 王二 游泳 2 4 赵武 跑步 表一和表二的ID为1对多的关系. 解决方案 servlet读取xml格式的post数据

sql server-sql查询问题,两张表的查询

问题描述 sql查询问题,两张表的查询 表一通过表一该怎么查询成表二的样子 本人是小白啊,想了一个下午都想不到,求帮忙 解决方案 select timeda,sum((case when result = '胜' then 1 else 0 end)) 胜, sum((case when result = '负' then 1 else 0 end)) 负 from Table_1 group by timeda 解决方案二: select sum(胜), sum(负) from (SELECT

数据-蜘蛛纸牌对于点数相邻的两张牌,你可以将点数小的牌移动到点数大的上面,显示可行的操作。

问题描述 蜘蛛纸牌对于点数相邻的两张牌,你可以将点数小的牌移动到点数大的上面,显示可行的操作. 输入数据有多组,每组10个整数,代表最上面那张牌的分值,每个整数取值是1~13,分别对应A.2.3.4.5.6.7.8.9.10.J.Q.K这些牌面分值. 对于每组数据均输出一行,如果还有可行的操作,请输出YES,否则输出NO. 解决方案 Q/K/J/5/8/7/3/9/6/2/1/4

oracle语句-有关两张表关联查询的sql问题

问题描述 有关两张表关联查询的sql问题 各位大神,一个sql问题请教下 有两张表,分别如下: 充值表t_recharge字段: userId.recharge_money.recharge_count 消费表t_consume字段: userId.consume_money.consume_count 现在的情况是用户可能只存在充值记录或者只存在消费记录,只存在充值记录时,消费记录显示0,只存在消费记录时,充值记录显示0 现在想查出这种结果: userId recharge_money rec

sql-SQL 同步tableA和tableB两张表的信息

问题描述 SQL 同步tableA和tableB两张表的信息 tableA(no,name1,status,time)和tableB(no,name1) no为主键 A表要同步B表的数据,status记录改信息是"新增"或者"修改"或者"删除" time为新增或修改或删除的时间 这个SQL要怎么写 ?求具体的语句啊谢谢! 解决方案 这是我写的一个sql文件,你保存成sql文件可以试试. DELIMITER $$ INSERT INTO table

数据-C# sql 查找每个分库中某表某ID字段重复的记录

问题描述 C# sql 查找每个分库中某表某ID字段重复的记录 目前30个分库中,每个库目前至少有100万条记录,每个库同有一个数据表A,表结构相同.每个表的主键叫recordID,但是各个分库间会重复不唯一.需求一个思路.忽略数据表设计问题,目前就是做出这个工具而已,表设计问题不管. 目前我是利用Sorteddiction的contains方法判断重复,但是会出现内存溢出的问题.OutOfMemory 解决方案 建临时表,先把所有表的recordID集中起来,然后再判断重复.

复制数据库表中两个字段数据的SQL语句

复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用.   复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",

c#实现批量插入数据到sql数据库表中,怎么做到跳过插入失败的数据,继续插入

问题描述 c#实现批量插入数据到sql数据库表中,怎么做到跳过插入失败的数据,继续插入 c#实现批量插入数据到sql数据库表中,怎么做到跳过插入失败的数据,继续插入. 并且报错,哪几天数据失败了.和失败的原因. 我现在是可以生成一个把一个数据库表的数据导入到另一个数据库表中.但是呢,有些数据由于某个字段过长无法导入成功,而导致所有的都无法导入.直接造成导入失败.我 想过滤掉那条不成功的继续导入.不至于都导入不成功.急! 想和好久也没解决.网上也没找到说法 解决方案 数据库表插入数据失败数据库批量

文本框-急!.net中如何使用虚拟表储存从sql中查出来的整行数据。请各位前辈教诲。

问题描述 急!.net中如何使用虚拟表储存从sql中查出来的整行数据.请各位前辈教诲. 具体功能是这样的:我想通过文本框输入在数据库中查询.并把在数据库中查询的结果通过datatable保存下来.!!!!!前辈们是把在文本框n次输入查询的结果都保存在datatable的虚拟表里.整行的整行的那种. 解决方案 你把查询出来的数据放在一个对象集合中或者数据集中,存在xml中 或者存在session中都可以,有很多种方式都可以实现,重要的是你要把数据存入虚拟的内存中就OK 了 解决方案二: 创建一个m