Merge 将视图中的线合并到新视图中
我有一个7列的视图。4列包含相同的信息,其他三列中的两列包含NULL,而其中一列(这三列中的一列)包含某些内容(非NULL)。“Gewicht、aantal、klant”列必须合并为一行,前四列包含所有三行中相同的信息。 如何创建将这些线合并为一条线的视图 现在视图看起来像:Merge 将视图中的线合并到新视图中,merge,sql-server-2008-r2,Merge,Sql Server 2008 R2,我有一个7列的视图。4列包含相同的信息,其他三列中的两列包含NULL,而其中一列(这三列中的一列)包含某些内容(非NULL)。“Gewicht、aantal、klant”列必须合并为一行,前四列包含所有三行中相同的信息。 如何创建将这些线合并为一条线的视图 现在视图看起来像: > Produtielijn Datum_tijd Artikel PRorder Gewicht aantal
>
Produtielijn Datum_tijd Artikel PRorder Gewicht aantal klant
Afzaklijn 3 (Groot Loosbroek) 2017-01-16 15:55:04.000 0118903G34 PR0800055654.006 NULL NULL 30041 NE06-07 Garretsen
Afzaklijn 3 (Groot Loosbroek) 2017-01-16 15:55:04.000 0118903G34 PR0800055654.006 NULL 205 NULL
Afzaklijn 7 (BB Veghel) 2017-01-02 16:40:32.000 0125995AA11 PR0800055388 NULL NULL 31488 NE49-69 Mohle(Jarco)
Afzaklijn 7 (BB Veghel) 2017-01-02 16:40:32.000 0125995AA11 PR0800055388 2600 NULL NULL
Afzaklijn 7 (BB Veghel) 2017-01-02 16:40:32.000 0125995AA11 PR0800055388 NULL 4 NULL
我希望视图看起来像:
Produtielijn Datum_tijd Artikel PRorder Gewicht aantal klant
Afzaklijn 3 (Groot Loosbroek) 2017-01-16 15:55:04.000 0118903G34 PR0800055654.006 NULL 205 30041 NE06-07 Garretsen
Afzaklijn 7 (BB Veghel) 2017-01-02 16:40:32.000 0125995AA11 PR0800055388 2600 4 31488 NE49-69 Mohle(Jarco)
首先,也是最重要的一点,您需要整理数据 其次,假设您的
Gewicht
、aantal
和klant
列中每个值都有一行,且“非值”始终为NULL
,您只需使用max
和groupby
:
select Produtielijn
,Datum_tijd
,Artikel
,PRorder
,max(Gewicht) as Gewicht
,max(aantal) as aantal
,max(klant) as klant
from View
group by Produtielijn
,Datum_tijd
,Artikel
,PRorder
其实很简单。谢谢