2013-04-02 63 views
0

我需要幫助在SQL 2008中創建一個視圖,該視圖將創建一個記錄,該記錄由兩個表中的數據組成,其中一個表包含多個記錄。如何基於多個表/記錄創建視圖/單個記錄

Table 1 contains field A, B 
Table 2 contains field A,B,1 
         A,B,2 
         A,B,3 
         A,B,4 
         A,B,5

我找的就是

A,B,1,2,3,4,5
+0

只是我還是這個數據沒有正常化? – Kermit

+0

您使用的是什麼RDBMS? – sgeddes

回答

0

一個選擇是考慮使用STUFFFOR XML結果視圖:

SELECT t.col1, t.col2, 
    STUFF((
    select ',' + cast(t2.id as varchar) 
    from yourothertable t2 
    where t.col1 = t2.col1 and t.col2 = t2.col2 
    for xml path('') 
     ), 1, 1, '') 
from yourtable t 

SQL Fiddle Demo

如果你想結合3列,很容易做到使用th e '+'運營商。

SELECT t.col1 + ',' + t.col2 + 
    (
    select ',' + cast(t2.id as varchar) 
    from yourothertable t2 
    where t.col1 = t2.col1 and t.col2 = t2.col2 
    for xml path('') 
     ) 
from yourtable t; 
相關問題