Engine^Medlem sedan dec. 20003 887 inlägg Jag har en liten IN-fråga (antar jag).
SELECT alla ID i tabellA som inte finns i tabellB;
Mitt problem är att ID:t i tabell B inte är formaterat på samma sätt som i A. Samt att jag inte begriper mig på IN helt... Jag har en funktion som fixar formateringen, men min SQL har gått och lagt sig... jag vill ha något i stil med
SELECT idnummer FROM tblA NOT IN (SELECT formatera(idnummer) FROM tblB);
Är jag på rätt väg? Vart ska jag? Är det en fyrkorsning jag anar i horisonten?
LarsGMedlem sedan dec. 200012 464 inlägg Jo syntaxen är nästan
SELECT idnummer FROM tblA where idnummer NOT IN (SELECT formatera(idnummer) FROM tblB)
men jag tycker att du borde se till att värdena i de båda kolumnerna blir direkt jämförbara. Om du måste använda formateringsfunktionen så kan man inte utnyttja index vilket innebär sämre prestanda.
Engine^Medlem sedan dec. 20003 887 inlägg Kram!
Problemet med formateringen är att tabell B är en importering, som jag inte orkat förändra... det går ju givetvis rätt fort, men jag är av naturen lat ;)
SQL-uttrycket i sig används inte regelbundet utan endast när jag måste... ca en gång i veckan.
Engine^Medlem sedan dec. 20003 887 inlägg ujujuj... den frågan tar tid... den har funderat i fem minuter nu och det ploppar upp rad för rad.
Det här med index kanske inte hade varit en så dum ide ändå ;)
CatZMedlem sedan jan. 20022 440 inlägg En följdfråga... likaså i If satser har jag fått för mig att använda <> istället för If NOT... är det egentligen någon skillnat förutom att koden blir mer enhetlig ?