2011-01-25 3 views
0

Если кто-то предложит лучший заголовок вопроса, я изменю его, но это лучшее, что я мог бы придумать.Как преобразовать таблицу - см. Пример?

Я использую SQL Server 2005

Есть ли хороший способ превратить таблицы 'table_1' до 'table_2' с помощью SQL.

Edit: Я не обязательно хочу, чтобы создать новую таблицу, я просто хочу, чтобы представить его в запросе, как так, что он будет выглядеть как «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 

Я ответить на следующие вопросы глава времени: 1. Я могу не меняйте дизайн таблицы, и я не проектировал таблицу. 3. У меня есть все основания не обрабатывать это на стороне клиента с помощью C# или другого языка.

благодаря

ответ

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 
+0

очень приятно, спасибо –

Смежные вопросы