赛捷软件论坛's Archiver

stone 发表于 2011-12-8 00:42

在SQL中合并表(Union语句)

<P>问题描述:<BR>现在我有四张表,每表四列,每张表的前两列相同,后两列列名不同但是数据意义相同:<BR>A表<BR>Date&nbsp; Plant&nbsp; ACost BCost<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 4<BR>B表<BR>Date&nbsp; Plant&nbsp; CCost DCost<BR>5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp; 8<BR>C表<BR>Date&nbsp; Plant&nbsp; ECost FCost<BR>9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp; 8<BR>D表<BR>Date&nbsp; Plant&nbsp; GCost HCost<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 4<BR>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp; 6</P><P>现在我想将他们合并为一张表,E表,<BR>Date&nbsp; Plant&nbsp; TCost TCost<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 4<BR>5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp; 8<BR>9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp; 8<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 4<BR>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp; 6</P><P><BR>解决方案:<BR>select * from a union select * from b<BR>//这样可以过滤a表和b中表中的结果集的重复值</P><P>如果不想过滤,那么使用:</P><P>select * from a union all select * from b</P>

xyoye 发表于 2012-3-8 15:31

你加油吧!!!











[img]http://www.discuz.net/static/image/common/sigline.gif[/img]
[size=2][url=http://www.7kankan.com/files/article/html/21/21243/]吞噬星空[/url]  [url=http://www.7kankan.com/files/article/html/56/56828/]一剑凌尘[/url][/size]

stone 发表于 2012-3-8 16:18

[b]回复 [url=http://www.sagesoft.cn/bbs/redirect.php?goto=findpost&pid=11603&ptid=2576]2#[/url] [i]xyoye[/i] [/b]


    好地,不要走开,请继续关注。

风帆刘工 发表于 2012-5-21 16:04

挺好的解决方案,下来继续学习

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.