2016-07-01 5 views
0

私は、異なるデータセットの列名を保持するテーブルを持っています。例えば。どのようにお互いに2つのテーブルを取得するには?

ID|Col1 |Col2 |Col3| 
------------------------ 
23|Name |City |Age | 
24|Answer1|Answer2|Name| 

上記の表の各列のデータを保持する別のテーブルがあります。

ID|Col1 |Col2 |Col3| 
------------------------ 
23|Marc |Paris |45 | 
23|Frank |Berlin |14 | 
23|Ole |Oslo |65 | 
24|Yes |Yes |Alex| 
24|No  |Yes |Thea| 

私は、列名とその列に属しているデータを保持する最初の列でwhere = IDを持つテーブルを取得する方法を探しています。例えば。

ID|Col1 |Col2 |Col3| 
------------------------ 
23|Name |City |Age | 
23|Marc |Paris |45 | 
23|Frank |Berlin |14 | 
23|Ole |Oslo |65 | 

私はすでに別の結合を試しましたが、すべてのデータが1つの列にあり、すべてのデータが互いに一致しませんでした。誰も私をここで助けることができますか?

私はそうので、私もSQLフラグを追加TSQL方言を使用しますが、私は答えはTSQLに固有のものされていないと思いSQL Serverで働いています。

+0

を、一つのテーブル保持名、市区町村、年齢の属性、回答と名前の属性を保持するもう1つのテーブルです。このようにして、その年齢は数字でなければならず、名前は文字列でなければなりません。 –

+0

私は実際にこれを次のステップで行う必要がありますが、テーブル1に39の列、テーブル2に1,200,000の列があり、SSISで述べた問題を解決する前にデータを表示する方法を探していました。 – ruedi

答えて

0
SELECT Col1, Col2, Col3, 1 as [sort] 
from table1 
where id = 23 
union all 
SELECT Col1, Col2, Col3, 2 
from table2 
where id = 23 
order by sort 
0

ID = 23と、次のSQLはあなたに期待した結果得られます、データを保持するテーブルを2つのテーブルに分割されるべきであると私には思える一見

SELECT Col1, Col2, Col3 
FROM COLUMN_NAMES 
WHERE ID = 23 
UNION 
SELECT Col1, Col2, Col3 
FROM DATA 
WHERE ID = 23 
関連する問題