【发布时间】:2021-02-28 05:14:45
【问题描述】:
我有 2 张桌子:
t1
campaign_name col_name camp_1 col_1 camp_2 col_2t2
col_1 col_2 col_3 1 2 3 2 4 6 3 6 9 4 8 12我想创建一个语句来使用来自t2 SELECT 列表中t1 的结果并显示t2 结果。
例子:
第 1 步:从表 1 中获取结果
select col_name from t1 where campaign_name = 'camp_1'
结果:col_1
第 2 步:将结果 (col_1) 用于 t2 并显示相应的结果
select col_1 from t2
最终结果应该是
1 2 3 4【问题讨论】:
-
就用一堆
case表达式case t1.col_name when 'col_1' then t2.col_1 when 'col_2' then t2.col_2 ... end -
@Charlieface 这看起来像示例数据。如果真实数据有更多列怎么办?
-
然后我会考虑更改架构,正如@slartidan 提到的那样,我很少看到实际上有意义的宽表。
标签: sql sql-server