求高手帮忙!!如何将数据库多表满足条件的记录单独插入到一个新表中?

例:表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

水平有限,请高手帮忙,万分感谢!!
展开
 我来答
快情签10
2013-07-21 · TA获得超过293个赞
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:178万
展开全部
其实你已经接近了,这么写试一试:
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 广告
易讯数据,为您提供全球200个国家1000万真实买家,通过交易图谱深度分析四维供应链贸易关系,利用邮件搜和精准邮箱得到有效的客户联系方式,帮您一站式解决查找客户、分析客户、联系客户直至成交客户。... 点击进入详情页
本回答由易讯数据提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式