求高手帮忙!!如何将数据库多表满足条件的记录单独插入到一个新表中?
例:表A数据如下a_name(名字)a_price(价格)萝卜5香蕉4梨2表B数据如下b_name(名字)b_price(价格)苹果6西瓜2芒果5这个时候我需将两个表中金...
例:表A数据如下
a_name(名字) a_price(价格)
萝卜 5
香蕉 4
梨 2
表B数据如下
b_name(名字) b_price(价格)
苹果 6
西瓜 2
芒果 5
这个时候我需将两个表中金额相加等于10的记录插入到表C中去,C的结构与表A,B一致
我这样子写了一条语句,但不对
insert into C(name,price) select top 1 * from A,B where(A.a_price+B.b_price=10)
单独执行了select top 1 * from A,B where(A.a_price+B.b_price=10) 这部分语句,
结果为A.a_name A.a_price B.b_name B.b_price
萝卜 5 芒果 5
返回的结果为一条记录,与表C的结构不一致,所以报错,
我需要将这一条记录分成两条插入的表C中去,如何写?
表C中最终结果应该为这样
name price
萝卜 5
芒果 5
水平有限,请高手帮忙,万分感谢!! 展开
a_name(名字) a_price(价格)
萝卜 5
香蕉 4
梨 2
表B数据如下
b_name(名字) b_price(价格)
苹果 6
西瓜 2
芒果 5
这个时候我需将两个表中金额相加等于10的记录插入到表C中去,C的结构与表A,B一致
我这样子写了一条语句,但不对
insert into C(name,price) select top 1 * from A,B where(A.a_price+B.b_price=10)
单独执行了select top 1 * from A,B where(A.a_price+B.b_price=10) 这部分语句,
结果为A.a_name A.a_price B.b_name B.b_price
萝卜 5 芒果 5
返回的结果为一条记录,与表C的结构不一致,所以报错,
我需要将这一条记录分成两条插入的表C中去,如何写?
表C中最终结果应该为这样
name price
萝卜 5
芒果 5
水平有限,请高手帮忙,万分感谢!! 展开
展开全部
其实你已经接近了,这么写试一试:
select a_name as name,a_price as price from (select top 1 * from A,B where(A.a_price+B.b_price=10)) union select b_name as name,b_price as price from (select top 1 * from A,B where(A.a_price+B.b_price=10))
也就是关键的union 得到了结果后分别把a的name price和b的name price 取出来合并成一张表
如果我的语句有问题的话,可能是sql的版本问题,你可以参考一下帮助文件里的union
select a_name as name,a_price as price from (select top 1 * from A,B where(A.a_price+B.b_price=10)) union select b_name as name,b_price as price from (select top 1 * from A,B where(A.a_price+B.b_price=10))
也就是关键的union 得到了结果后分别把a的name price和b的name price 取出来合并成一张表
如果我的语句有问题的话,可能是sql的版本问题,你可以参考一下帮助文件里的union
易讯数据
2024-10-08 广告
2024-10-08 广告
易讯数据,为您提供全球200个国家1000万真实买家,通过交易图谱深度分析四维供应链贸易关系,利用邮件搜和精准邮箱得到有效的客户联系方式,帮您一站式解决查找客户、分析客户、联系客户直至成交客户。...
点击进入详情页
本回答由易讯数据提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |