2011-01-25 61 views
0

如果有人提出更好的問題標題,我會改變它,但這是我能想到的最好的。如何轉換表格 - 請參閱示例?

我使用SQL Server 2005

是否有轉變表 'TABLE_1' 使用SQL '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 

我會回答以下問題的時候頭: 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

很不錯,謝謝你 – 2011-01-25 22:02:57

相關問題