LaspMedlem sedan juli 200012 980 inlägg Jag har flyttat en massa kunder från en äldre applikation (14500) Nu ser jag att det bara är genererat 13000 Kontrakt.
Hur rensar jag enklast bort de kunder i "Customer" som inte är aktuella dvs har någon post i "Contr_Base" Skulle tippa på att det bara är drygt 1000 kunder som har genererat dessa poster.
Tacksam för en bra SQL snutt.
------------------
GvdsSfdtTddv.
LarsGMedlem sedan dec. 200012 464 inlägg delete from customer where customerid not in (select customerid from contr_base)
eller vad dina kolumner nu heter.
------------------
essentitia preter non sans multiplicandum
LaspMedlem sedan juli 200012 980 inlägg Tack LarsG
Naturligtsvis var det inte så enkelt!!!
Vem blir förvånad?
Kunden "CustId" kunde finnas som "DriverId" i samma tabell och dessutom kunde han vara delbetalar i Contr_Sub.SubCustId.
Jag har nu en lösning, (slå ihop nycklarna) men har du en smart SQL fråga så är jag tacksam.
Jag ser att jag har slarvat med Id.
Har du rekommendation på Datadictionary eller Repository!!
Jag märker att jag inte kan hålla allt i huvudet längre!!!
------------------
GvdsSfdtTddv.
LarsGMedlem sedan dec. 200012 464 inlägg Jag vet inte om jag förstod riktigt det där med custid och dirverid. Kan båda vara satta i en post eller är den ena alltid null?
T.ex. om ena alltid är null så borde det vara ok
delete from customer where coalesce(custid,driverid) not in (select custid from contr_base
union select subcustid from contr_sub )
------------------
essentitia preter non sans multiplicandum
LaspMedlem sedan juli 200012 980 inlägg Ja det är så att båda kan vara satta.
Om CustId är ett företag kan DriveId vara en person.
Båda finns dock i Customer med sitt CustId.
Vad står detta för? "coalesce"
Har aldrig sett det förut!
För dåligt bevandrad i SQL språket månne.
En lång julhelg ger mig tillfälle att öka kunskapen. Tack så länge.
------------------
GvdsSfdtTddv.
LarsGMedlem sedan dec. 200012 464 inlägg coalesce(a,b) är samma sak som
case when a is null then b else a end
columnen driveid finns alltså i contr_base och subcontr_base ?
Du får nog beskriva din datamodell lite mer.
------------------
essentitia preter non sans multiplicandum
LaspMedlem sedan juli 200012 980 inlägg Har testkört och jag fick önskat resultat. Skall köra live på Onsdag.
Jag byggde upp en särskild tabell för säkerhets skull med unik nyckel.
Tack för hjälpen. Ideér om DD?
------------------
GvdsSfdtTddv.