合并两个SQL SELECT语句

时间:2009-09-02 11:31:12

标签: sql select merge

我需要合并两个SELECT语句。

我的数据库中有两个表,其中表A由两个字段组成;类型和计数器。表B由两个字段组成;来源和目的地。

Table A has three items; 
                   { 1, 5000 }, { 2, 10000 } and { 3, 15000 }. ({Type, Counter})
Table B has two items; 
                   { 5000, 10000 } and { 10000, 150000 }. ({Source, Destination})

即,表B的值由表A中的数据组成。

我可用于查询的数据是输入表A(1,2和3)。

查询(我之后的那个)到数据库的最终结果应该是一个项目; {5000,10000,15000},其中列应分别为{Source,Middle,Destination}。但是,我无法创建可以以这种格式显示的查询。

我可以使用INNER JOIN获取数据,结果显示为两个项目; {5000,10000}和{10000,15000}。 (不仅仅是表B的内容,如果表格也包含其他项目。)

(两个表中的项目显然远远超过我在上面显示的项目。)

那么,如何编写SQL查询以使我的结果显示为{5000,10000,15000}(具有适当的列名)?

1 个答案:

答案 0 :(得分:2)

根据您的问题,您对表A没有任何用处或需要 - 您只是在Source = Destination上将表B加入其自身。

您的查询应该是

SELECT a.Source, a.Destination, b.Destination
FROM [Table B] as a INNER JOIN [Table B] as b
ON a.Destination = b.Source