Hallo,
ich habe ein Spalte mit widerkehrenden Zeileninhalten, diese möchte ich zu einer Zeile mit den Inhalten der anderen Zeilen in einer Zeile zusammenfassen.
Hier meine Abfrage:
ALTER VIEW "DWH"."Fertigungsablauf_Ereignisse_Positionen"
as
select
Case when Auftragsart = 'Position' then AE.objafrKennng
End Case AS Projektnummer_Position
,AAR.objsBezchngD AS Auftragsart
,Case when TM.aftrrkKennng = 'W2POS_0030' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0030' then ''
when TM.aftrrkKennng = 'W2POS_0030' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as AV
,Case when TM.aftrrkKennng = 'W2POS_0050' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0050' then ''
when TM.aftrrkKennng = 'W2POS_0050' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as ZS
,Case when TM.aftrrkKennng = 'W2POS_0060' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0060' then ''
when TM.aftrrkKennng = 'W2POS_0060' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as CNC
,Case when TM.aftrrkKennng = 'W2POS_0070' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0070' then ''
when TM.aftrrkKennng = 'W2POS_0070' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as BR
,Case when TM.aftrrkKennng = 'W2POS_0080' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0080' then ''
when TM.aftrrkKennng = 'W2POS_0080' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as 'OF'
,Case when TM.aftrrkKennng = 'W2POS_0090' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0090' then ''
when TM.aftrrkKennng = 'W2POS_0090' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as AL
from v.AftrgJrl AJ
left join v.AMtErfsg AE on AJ.objafrAuftrg_AMtErfsg=AE.strctId
left join v.Aftrgsrt AAR on AE.ftrgAftrgsrt_Aftrgsrt=AAR.strctId
left join v.ATrmnstm TM on AJ.trmnTermnstm_ATrmnstm=TM.strctId
where (TM.aftrrkKennng = 'W2POS_0030' or TM.aftrrkKennng = 'W2POS_0050' or TM.aftrrkKennng = 'W2POS_0060' or TM.aftrrkKennng = 'W2POS_0070'
or TM.aftrrkKennng = 'W2POS_0080' or TM.aftrrkKennng = 'W2POS_0090')
Das ist mein Ergebnis:
So soll es aber herauskommen:
Ich hoffe mir kann jemand helfen. Vielen Dank.
ich habe ein Spalte mit widerkehrenden Zeileninhalten, diese möchte ich zu einer Zeile mit den Inhalten der anderen Zeilen in einer Zeile zusammenfassen.
Hier meine Abfrage:
ALTER VIEW "DWH"."Fertigungsablauf_Ereignisse_Positionen"
as
select
Case when Auftragsart = 'Position' then AE.objafrKennng
End Case AS Projektnummer_Position
,AAR.objsBezchngD AS Auftragsart
,Case when TM.aftrrkKennng = 'W2POS_0030' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0030' then ''
when TM.aftrrkKennng = 'W2POS_0030' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as AV
,Case when TM.aftrrkKennng = 'W2POS_0050' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0050' then ''
when TM.aftrrkKennng = 'W2POS_0050' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as ZS
,Case when TM.aftrrkKennng = 'W2POS_0060' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0060' then ''
when TM.aftrrkKennng = 'W2POS_0060' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as CNC
,Case when TM.aftrrkKennng = 'W2POS_0070' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0070' then ''
when TM.aftrrkKennng = 'W2POS_0070' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as BR
,Case when TM.aftrrkKennng = 'W2POS_0080' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0080' then ''
when TM.aftrrkKennng = 'W2POS_0080' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as 'OF'
,Case when TM.aftrrkKennng = 'W2POS_0090' and AJ.trmnVisiert_APerson = Null then '/'
when not TM.aftrrkKennng = 'W2POS_0090' then ''
when TM.aftrrkKennng = 'W2POS_0090' and AJ.trmnVisiert_APerson > 0 then 'X'
Else '/'
End Case as AL
from v.AftrgJrl AJ
left join v.AMtErfsg AE on AJ.objafrAuftrg_AMtErfsg=AE.strctId
left join v.Aftrgsrt AAR on AE.ftrgAftrgsrt_Aftrgsrt=AAR.strctId
left join v.ATrmnstm TM on AJ.trmnTermnstm_ATrmnstm=TM.strctId
where (TM.aftrrkKennng = 'W2POS_0030' or TM.aftrrkKennng = 'W2POS_0050' or TM.aftrrkKennng = 'W2POS_0060' or TM.aftrrkKennng = 'W2POS_0070'
or TM.aftrrkKennng = 'W2POS_0080' or TM.aftrrkKennng = 'W2POS_0090')
Das ist mein Ergebnis:
Projektnummer_Position | Auftragsart | AV | ZS | CNC | BR | OF | AL |
K210507.07.08 | Position | / | |||||
K210507.07.08 | Position | X | |||||
K210507.07.08 | Position | X |
So soll es aber herauskommen:
K210507.07.08 | Position | X | X | / |
Ich hoffe mir kann jemand helfen. Vielen Dank.