Hallo,
ich habe eine Tabelle und möchte doppelte Datensätze daraus löschen.
Das Problem ist, dass die Spaltenanzahl dieser Tabelle sehr groß ist, also wäre das Group By größer als die restliche Abfrage - und das bei 16 verschiedenen if´s.
Wie kann das Group By (hier in Kommentare) ausschauen, dass keine doppelten Datensätze vorkommen?
if @Project <> 0 and @Function <> 0 and @Week <> 0 and @Worker = 0
begin
select p.*, f.*, w.*
into temp_hilf
from tblTätigkeitsbericht tb join temp_Week w on tb.weekNr = w.WeekNr
join tblZuordnung_Abt_Fun af on af.id = tb.ProjBerFunID
join tblZuordnung_Proj_Ber pb on pb.id = af.Zuordnung_Proj_Ber_ID
join temp_Function f on f.Functionid = af.FunktionID
join temp_Project p on p.ProjectID = pb.ProjectID
--group by p.*, f.*, w.*
end
if @Project <> 0 and @Function <> 0 and @Week = 0 and @Worker <> 0
begin
select p.*, f.*, wo.*
into temp_hilf
from tblTätigkeitsbericht tb join temp_Worker wo on tb.pnr = wo.dnr
join tblZuordnung_Abt_Fun af on af.id = tb.ProjBerFunID
join tblZuordnung_Proj_Ber pb on pb.id = af.Zuordnung_Proj_Ber_ID
join temp_Function f on f.Functionid = af.FunktionID
join temp_Project p on p.ProjectID = pb.ProjectID
--group by p, f, wo
end
...
ich habe eine Tabelle und möchte doppelte Datensätze daraus löschen.
Das Problem ist, dass die Spaltenanzahl dieser Tabelle sehr groß ist, also wäre das Group By größer als die restliche Abfrage - und das bei 16 verschiedenen if´s.
Wie kann das Group By (hier in Kommentare) ausschauen, dass keine doppelten Datensätze vorkommen?
if @Project <> 0 and @Function <> 0 and @Week <> 0 and @Worker = 0
begin
select p.*, f.*, w.*
into temp_hilf
from tblTätigkeitsbericht tb join temp_Week w on tb.weekNr = w.WeekNr
join tblZuordnung_Abt_Fun af on af.id = tb.ProjBerFunID
join tblZuordnung_Proj_Ber pb on pb.id = af.Zuordnung_Proj_Ber_ID
join temp_Function f on f.Functionid = af.FunktionID
join temp_Project p on p.ProjectID = pb.ProjectID
--group by p.*, f.*, w.*
end
if @Project <> 0 and @Function <> 0 and @Week = 0 and @Worker <> 0
begin
select p.*, f.*, wo.*
into temp_hilf
from tblTätigkeitsbericht tb join temp_Worker wo on tb.pnr = wo.dnr
join tblZuordnung_Abt_Fun af on af.id = tb.ProjBerFunID
join tblZuordnung_Proj_Ber pb on pb.id = af.Zuordnung_Proj_Ber_ID
join temp_Function f on f.Functionid = af.FunktionID
join temp_Project p on p.ProjectID = pb.ProjectID
--group by p, f, wo
end
...