2017-02-16 4 views
0

私は7つの異なる会社があるCompanyルックアップテーブルを持っています。 lookupkeyは1から始まり7で終わります。 問題は、ファクトテーブルにこのような(1,2,3,4)のような会社キーがあることです。これは行に4つの会社があることを意味します。しかし、すべての値が1つのセルの内側にある場合、どのように結合するのですか?SQL 1つのセル内で複数のルックアップを持つ列に結合する

 
The company Table look like this 
ID Name 
1 Company1 
2 Company2 
3 Company3 
.... 

ファクトテーブルには、次のようになります。

 
Id Amount Company 
1 100 Usd (1,2,3) 
2 200 Usd (1,2) 
.... 

結果

 
Id Amount Company 
1 100 Usd (Company1,Company2,Company3) 
2 200 Usd (Company1,Company2) 

私はそれはちょうどそれが

+1

サンプルデータと明確な結果を提供してください – GurV

+0

入力データ、取得したいもの、取得しようとしているもの、試したものを表示してください。質問の中で。 – Richard

+0

http://stackoverflow.com/help/how-to-ask – jarlh

答えて

0
あなたを
感謝される方法ですデータベースを設計していませんでした

この文字列を配列Fact.Companyに分割するかPostgreSQLでは、たとえば、それは次のようになりますようにと、配列の比較演算子を使用します。

JOIN Fact ON Company.ID = ANY(translate(Fact.Company, '()', '{}')::integer[])

他の方法は、行は、そのようなタスクのためのあなたのRDBMSで利用可能であるかわからないの集合に分割することです。

+0

私はT-SQLを使用しています - 方法はありますか?それをするには? –

関連する問題