Hirdetés

Új hozzászólás Aktív témák

  • DS39
    nagyúr

    Szeretném megcsinálni azt, hogy vannak partnereink akik sajnos valami folytán kétszer kerültek be az adatbázisunkba és szeretném a kölcsönzéseiket összevonni az újabb regisztrációba.

    Név és telefonszám alapján le is tudom kérdezni a listát ahol látom az összes duplikációt.
    A lényeg az lenne, hogy a régebbi partnerhez tartozó kölcsönzéseket átrakjam az új partnerre.
    A kölcsönzések tábla tartalmazza természetesen a partnerid-t, így ott kellene valahogy kicserélnem a régi az újra.

    Itt e lekérdezés a duplikációkra itt szépen látom az id-t, a nevet és a telefonszámot.
    SELECT
        y.id,y.nev, y.Kapcsolat
        FROM Partnerek y
            INNER JOIN (SELECT
                            nev, kapcsolat, COUNT(*) AS CountOf
                            FROM Partnerek
                            GROUP BY nev, Kapcsolat
                            HAVING COUNT(*)>1
                        ) dt ON y.kapcsolat=dt.kapcsolat  order by Kapcsolat

    [kép]

    jó az irány.
    még group by-old a külső select-et névre és telefonszámra, és az id-t MIN()-eld.
    ezt mentsd el egy temp táblába, majd a temp táblához join-old be a partner táblát, név és telefonszám alapján + temp.ID <> partner.ID
    így meglesz egy rekordban a duplikált partner régi és új id-ja, ezzel már könnyen meg tudod írni az update-t, hogy a kölcsönzés táblában mit mire kell cserélni.
    + én még a partner táblát bővíteném egy oszloppal, hogy törölt / archív, és a régi id-ek megjelölném, így később ki lehet őket szűrni.

Új hozzászólás Aktív témák