2016-07-15 15 views
0

いくつかの条件に基づいて2つのテーブルを結合する必要がありますが、共通/リンク列はありません。私は表A.条件から「実際の値」と一緒にテーブルBのフィールドを取得する必要がリンク/共通列のない条件に基づく結合

enter image description here

値が範囲の間に入るところを見つけるには、表Aと表Bおよびマップの各RangeValueを取ることですStartとRange Endを呼び出し、対応するActualValueを取得します。あなたの提案を提供してください。ここでは、表BでRangeValueはユニークです

+0

dbms – Jens

答えて

0

を: -

SELECT B.*, A.Actualvalue 
FROM B INNER JOIN A 
ON B.RANGEVALUE BETWEEN A.RangeStart AND A.RangeEnd 
+0

クエリがうまく動作するタグfrを追加してください、本当に役に立ちました、ありがとう –

0

作業を行う必要があります。このクエリ:あなたは次のクエリを試すことができます

select tableb.*,actualValue from tableb join table1 on rageValue between rangestart and rangeend 
0
select *, 
    (
    select ActualValue from A 
    where B.RangeValue between RangeStart and RangeEnd 
    ) as ActualValue 
from B 

あなたが好むかもしれないいくつかの理由があります結合の代わりにスカラー副問い合わせ。メリットの1つは、範囲が乱れて複数のものが見つかった場合はエラーになることです。

関連する問題