Update Tabelle mit Werten aus der selben Tabelle

10/07/2009 - 11:07 von rk10059 | Report spam
Hallo Newgroup

Ich muss Felder einer Tabelle mit Werten aus der selben Tabelle
updaten.
Leider erhalte ich die Fehlermeldung: The table 'tabProfitCenter_EP'
is ambiguous.
Was mache ich falsch??
Herzlichen Dank im Voraus - Kiepetz Rudolf

Unten mein Statement:
update tabProfitCenter_EP

set
RefBelegNr = case when a.[RefBelegNr] is null or a.[RefBelegNr]=''
then b.RefBelegNr else a.[RefBelegNr] end,
AuftrNr = case when a.[AuftrNr] is null or a.[AuftrNr]='' then
b.AuftrNr else a.AuftrNr end,
Partner_PC = case when a.Partner_PC is null or a.Partner_PC='' then
b.Partner_PC else a.Partner_PC end,
ObjKlasse = case when a.[ObjKlasse] is null or a.[ObjKlasse]='' then
b.ObjKlasse else a.[ObjKlasse] end ,
Kostenstelle = case when a.[Kostenstelle] is null or a.[Kostenstelle]
='' then b.Kostenstelle else a.[Kostenstelle] end,
ProjektNr = case when a.[ProjektNr] is null or a.[ProjektNr]='' then
b.ProjektNr else a.[ProjektNr] end,
Debitor = case when a.[Debitor] is null or a.[Debitor]='' then
b.Debitor else a.[Debitor] end,
Kreditor = case when a.[Kreditor] is null or a.[Kreditor]='' then
b.Kreditor else a.[Kreditor] end,
Werk = case when a.[Werk] is null or a.[Werk]='' then b.Werk else a.
[Werk] end,
MatNr = case when a.[MatNr] is null or a.[MatNr]='' then b.MatNr else
a.[MatNr] end,
Rep_MatNr = case when a.[Rep_MatNr] is null or a.[Rep_MatNr]='' then
b.Rep_MatNr else a.[Rep_MatNr] end,
StornoKZ = case when a.[StornoKZ] is null or a.[StornoKZ]='' then
b.StornoKZ else a.[StornoKZ] end,
StornoFlag = case when a.[StornoFlag] is null or a.[StornoFlag]=''
then b.StornoFlag else a.[StornoFlag] end,
Partner_GNr = case when a.[Partner_GNr] is null or a.[Partner_GNr]=''
then b.Partner_GNr else a.[Partner_GNr] end,
EmpfangObj = case when a.[EmpfangObj] is null or a.[EmpfangObj]=''
then b.EmpfangObj else a.[EmpfangObj] end,
Ersteller = case when a.[Ersteller] is null or a.[Ersteller]='' then
b.Ersteller else a.[Ersteller] end,
Ref_Jahr = case when a.[Ref_Jahr] is null or a.[Ref_Jahr]='' then
b.Ref_Jahr else a.[Ref_Jahr] end,
Ref_Vorgang = case when a.[Ref_Vorgang] is null or a.[Ref_Vorgang]=''
then b.Ref_Vorgang else a.[Ref_Vorgang] end,
Leistungsart = case when a.[Leistungsart] is null or a.[Leistungsart]
='' then b.Leistungsart else a.[Leistungsart] end,
BewertungsKreis = case when a.[BewertungsKreis] is null or a.
[BewertungsKreis]='' then b.BewertungsKreis else a.[BewertungsKreis]
end,
KdnAuftrNr = case when a.[KdnAuftrNr] is null or a.KdnAuftrNr=''
then b.KdnAuftrNr else a.KdnAuftrNr end ,
KdnPosNr = case when a.[KdnPosNr] is null or a.[KdnPosNr]='' then
b.KdnPosNr else a.[KdnPosNr] end,
FakturaArt = case when a.[FakturaArt] is null or a.[FakturaArt]=''
then b.FakturaArt else a.[FakturaArt] end,
VerkaufOrg = case when a.[VerkaufOrg] is null or a.[VerkaufOrg]=''
then b.VerkaufOrg else a.[VerkaufOrg] end,
VerkaufBuro = case when a.[VerkaufBuro] is null or a.[VerkaufBuro]=''
then b.VerkaufBuro else a.[VerkaufBuro] end,
Bewegungsart = case when a.[Bewegungsart] is null or a.[Bewegungsart]
='' then b.Bewegungsart else a.[Bewegungsart] end,
Menge = case when a.[Menge] is null or a.[Menge]=0 then b.Menge else
a.[Menge] end,
MEinh = case when a.[MEinh] is null or a.[MEinh]='' then b.MEinh else
a.[MEinh] end,
Regulierer = case when a.[Regulierer] is null or a.[Regulierer]=''
then b.Regulierer else a.[Regulierer] end,
Bezeichnung = case when a.[Bezeichnung] is null or a.[Bezeichnung]=''
then b.Bezeichnung else a.[Bezeichnung] end
from SAP_AuftragsDB.dbo.tabProfitCenter_EP b
join SAP_AuftragsDB.dbo.tabProfitCenter_EP a
on substring(a.PosText,1,10)= b.BH_BelegNr and substring(a.PosText,
14,3) = b.BuZeile
where a.Jahr = '2009' and a.BH_BelegNr = '8800000000'
 

Lesen sie die antworten

#1 Jürgen Volke
10/07/2009 - 11:11 | Warnen spam
Hallo Rudolf


Ich muss Felder einer Tabelle mit Werten aus der selben Tabelle
updaten.
Leider erhalte ich die Fehlermeldung: The table 'tabProfitCenter_EP'
is ambiguous.
Was mache ich falsch??
Herzlichen Dank im Voraus - Kiepetz Rudolf

Unten mein Statement:
update tabProfitCenter_EP

set
RefBelegNr = case when a.[RefBelegNr] is null or a.[RefBelegNr]=''
then b.RefBelegNr else a.[RefBelegNr] end,
AuftrNr = case when a.[AuftrNr] is null or a.[AuftrNr]='' then
b.AuftrNr else a.AuftrNr end,
Partner_PC = case when a.Partner_PC is null or a.Partner_PC='' then
b.Partner_PC else a.Partner_PC end,
ObjKlasse = case when a.[ObjKlasse] is null or a.[ObjKlasse]='' then
b.ObjKlasse else a.[ObjKlasse] end ,
Kostenstelle = case when a.[Kostenstelle] is null or a.[Kostenstelle]
='' then b.Kostenstelle else a.[Kostenstelle] end,
ProjektNr = case when a.[ProjektNr] is null or a.[ProjektNr]='' then
b.ProjektNr else a.[ProjektNr] end,
Debitor = case when a.[Debitor] is null or a.[Debitor]='' then
b.Debitor else a.[Debitor] end,
Kreditor = case when a.[Kreditor] is null or a.[Kreditor]='' then
b.Kreditor else a.[Kreditor] end,
Werk = case when a.[Werk] is null or a.[Werk]='' then b.Werk else a.
[Werk] end,
MatNr = case when a.[MatNr] is null or a.[MatNr]='' then b.MatNr else
a.[MatNr] end,
Rep_MatNr = case when a.[Rep_MatNr] is null or a.[Rep_MatNr]='' then
b.Rep_MatNr else a.[Rep_MatNr] end,
StornoKZ = case when a.[StornoKZ] is null or a.[StornoKZ]='' then
b.StornoKZ else a.[StornoKZ] end,
StornoFlag = case when a.[StornoFlag] is null or a.[StornoFlag]=''
then b.StornoFlag else a.[StornoFlag] end,
Partner_GNr = case when a.[Partner_GNr] is null or a.[Partner_GNr]=''
then b.Partner_GNr else a.[Partner_GNr] end,
EmpfangObj = case when a.[EmpfangObj] is null or a.[EmpfangObj]=''
then b.EmpfangObj else a.[EmpfangObj] end,
Ersteller = case when a.[Ersteller] is null or a.[Ersteller]='' then
b.Ersteller else a.[Ersteller] end,
Ref_Jahr = case when a.[Ref_Jahr] is null or a.[Ref_Jahr]='' then
b.Ref_Jahr else a.[Ref_Jahr] end,
Ref_Vorgang = case when a.[Ref_Vorgang] is null or a.[Ref_Vorgang]=''
then b.Ref_Vorgang else a.[Ref_Vorgang] end,
Leistungsart = case when a.[Leistungsart] is null or a.[Leistungsart]
='' then b.Leistungsart else a.[Leistungsart] end,
BewertungsKreis = case when a.[BewertungsKreis] is null or a.
[BewertungsKreis]='' then b.BewertungsKreis else a.[BewertungsKreis]
end,
KdnAuftrNr = case when a.[KdnAuftrNr] is null or a.KdnAuftrNr=''
then b.KdnAuftrNr else a.KdnAuftrNr end ,
KdnPosNr = case when a.[KdnPosNr] is null or a.[KdnPosNr]='' then
b.KdnPosNr else a.[KdnPosNr] end,
FakturaArt = case when a.[FakturaArt] is null or a.[FakturaArt]=''
then b.FakturaArt else a.[FakturaArt] end,
VerkaufOrg = case when a.[VerkaufOrg] is null or a.[VerkaufOrg]=''
then b.VerkaufOrg else a.[VerkaufOrg] end,
VerkaufBuro = case when a.[VerkaufBuro] is null or a.[VerkaufBuro]=''
then b.VerkaufBuro else a.[VerkaufBuro] end,
Bewegungsart = case when a.[Bewegungsart] is null or a.[Bewegungsart]
='' then b.Bewegungsart else a.[Bewegungsart] end,
Menge = case when a.[Menge] is null or a.[Menge]=0 then b.Menge else
a.[Menge] end,
MEinh = case when a.[MEinh] is null or a.[MEinh]='' then b.MEinh else
a.[MEinh] end,
Regulierer = case when a.[Regulierer] is null or a.[Regulierer]=''
then b.Regulierer else a.[Regulierer] end,
Bezeichnung = case when a.[Bezeichnung] is null or a.[Bezeichnung]=''
then b.Bezeichnung else a.[Bezeichnung] end
from SAP_AuftragsDB.dbo.tabProfitCenter_EP b
join SAP_AuftragsDB.dbo.tabProfitCenter_EP a
on substring(a.PosText,1,10)= b.BH_BelegNr and substring(a.PosText,
14,3) = b.BuZeile
where a.Jahr = '2009' and a.BH_BelegNr = '8800000000'




also anstatt
update tabProfitCenter_EP
müsste da
update a
oder
update b
stehen, jenachdem in welcher Tabelle du den Update machen willst

HTH Jürgen

Ähnliche fragen