如果有人提出更好的问题标题,我会改变它,但这是我能想到的最好的。
我正在使用SQL Server 2005
是否有一种使用SQL将表'table_1'转换为'table_2'的好方法。
编辑:我不一定要创建新表,我只想在查询中表示它,使其看起来像'table_2'
TABLE_1:
a b
1 TRUE
2 FALSE
4 TRUE
7 FALSE
9 TRUE
10 FALSE
TABLE_2:
x y z
1 2 TRUE
2 4 FALSE
4 7 TRUE
7 9 FALSE
9 10 TRUE
我想这样做的原因是,如果我有table_3:
TABLE_3:
id m
a 3
b 4
c 8
我想查询table_2(转换后的table_1),如下所示:
SELECT table_3.id
FROM table_3
FROM table_2
WHERE m BETWEEN x AND y
AND z = TRUE
我会在一段时间内回答以下问题: 我无法改变桌子设计,也没有设计桌子。 3.我有充分的理由不使用c#或其他语言在客户端处理此问题。
感谢
答案 0 :(得分:1)
尝试自我加入:
select t1.a, min(t2.a), t1.b
from table_1 t1
inner join table_1 t2 on t2.a > t1.a
group by t1.a, t1.b