2011-06-14 43 views
0

我是SQL新手,但到目前爲止我還沒能找到任何東西,所以也許這是不可能的,但我想我會問。SQL從兩個而不是聯合或聯合創建一個表

我有兩個表,我想創建一個表,使用一個作爲模板,並將另一個的元素添加到反映第二個表的行信息的新列。所有這些都通過記錄ID進行匹配。我不確定我是否描述得很好,所以我希望這個例子有幫助。

兩個表看起來像

記錄ID ...業主.....客戶

....... 1 ............ Tim ........... HL ......

....... 2 ............ Jon ...... ..... JP ......

....... 3 ............ Evan ......... JP ... ...

記錄ID ...問題#.....問題回覆

....... 1 ............ 65 ............ Y ......

.... ... 1 ............ 68 ........... N ......

....... 2 ... ......... 65 ........... Y ......

....... 2 .......... .68 ...... Y ......

....... 3 ............ 68 .... ....... N ......

而新表將如下所示:

記錄ID ...所有者.....客戶...問題65 ...問題68

....... 1 ............ Tim。 .......... HL ............... Y .................... N

....... 2 ............喬恩........... JP ............... Y ..................... Y

....... 3 ............ Evan .. ....... JP ............ NULL ................. N

+1

Record可以記錄多少個問題? – THEn 2011-06-14 20:07:14

回答

1

如果只有Question65和Question68那麼你可以使用下面的mentiond查詢。如果你從問題1開始一直到問題65,66,67 ......那麼你最好在你的應用程序或樞軸或其他東西上做。

INSERT INTO NewTable 
SELECT t1.RecordID, t1.owner, t1.Customer, t2.Question65, t2.Question68 
FROM table1 t1 LEFT JOIN (
     SELECT q1.RecordID, q1.QuestionResponse AS Question65, 
      q2.QuestionResponse AS Question68 
     FROM Question q1 LEFT JOIN Question q2 ON 
        q1.RecordID = q2.RecordID and q2.Question# = 68 
     WHERE q1.Question# = 65 
    ) t2 
ON t1.RecordID = t2.RecordID