我有一个表格,其中包含不同数据集的列名。 E.g。
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
的表,第一列包含列名,然后是属于该列的数据。 E.g。
ID|Col1 |Col2 |Col3|
------------------------
23|Name |City |Age |
23|Marc |Paris |45 |
23|Frank |Berlin |14 |
23|Ole |Oslo |65 |
我已经尝试了不同的联接,但我得到的只是一列中的所有数据彼此之间没有。谁能在这帮助我?
我正在使用SQL Server
使用TSQL
方言,但我猜答案并非针对TSQL
,所以我也添加了SQL
标志。< / p>
答案 0 :(得分:0)
以下带有ID = 23
的SQL为您提供了预期的结果:
SELECT Col1, Col2, Col3
FROM COLUMN_NAMES
WHERE ID = 23
UNION
SELECT Col1, Col2, Col3
FROM DATA
WHERE ID = 23
答案 1 :(得分: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