2009-09-02 34 views
0

2つのSELECT文をマージする必要があります。2つのSQL SELECT文をマージする

データベースには2つのテーブルがあり、テーブルAは2つのフィールドで構成されています。タイプとカウンタ。表Bは2つのフィールドで構成されています。ソースと宛先。 Bの値が表A

からのデータの私は、クエリのために利用可能なデータから成るテーブルは、テーブルAにタイプである(1、2及び3)、である

 
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}) 

データベースへのクエリの最終結果は1つの項目にする必要があります。 {5000,10000,15000}。列はそれぞれ{Source、Middle、Destination}を読み込む必要があります。しかし、私はそのような形式で表示されるクエリを作成することができませんでした。

結果は2つの項目として表示されるINNER JOINを使用してデータを取得できます。 {5000,10000}および{10000,15000}である。 (表は、同様に、他の項目で構成されます場合は、あるテーブルBの未単にコンテンツ。)

(私が上に表示しましたよりも、両方のテーブルではるかに多くの項目が明らかにあります。)

ので、私の結果を{5000、10000、15000}(適切な列名で表示)にするためにSQLクエリを書くにはどうすればよいですか?

+0

はあなたが試してみましたselect文を投稿することができすべきですか? – kemiller2002

+0

中途半端はありますか?または、あなたの「パス」が5000→10000→15000→20000→25000になる可能性がありますか?どのような場合にあなたの列はどのように見えるでしょうか? – butterchicken

+0

真ん中が1つあります。 以下は私の(間違ったSELECT)です。 TableB.DestinationType ON テーブルAのTD2をJOIN TableB.SourceType = TB1.Type INNER ON テーブルAのTD1をJOINテーブルB INNER * FROM を選択 = TD2.Type INNER テーブルAのTD4をJOIN TableB.DestinationType = TD3.Type INNER ON テーブルAのTD3をJOIN ON TableB.DestinationType = TD4.Type どこにTD1.Counter = 5000 AND TD2.Counter = 10000またはTD1.Counter = 10000 AND TD3.counter = 15000 –

答えて

2

質問から、あなたはテーブルAを使用する必要はありません。あなたは単にテーブルBをソース=デスティネーション上で自分自身に参加させるだけです。

あなたのクエリが

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

それはそれをしたようだった。ありがとう。私は私が盲目を見つめていたと思うので、私は入力が必要でしたが、確かにそうではありませんでした。 –

+0

私は正しい答えを投稿しました、なぜそれを投票しましたか?私はあなたのことを見た前に投稿しました。私は私の方が好きです。 –

関連する問題