L LAMP Medlem sedan mars 2002 777 inlägg Trådstart 7 maj 2002 22:59 #1 Bör man inte kunna utesluta dubletter med denna sql:en
SQL ="select distinct Email from mail order by Email"
fälttypen är varchar och jag får ut dubletter trots användandet av distinct.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Jodå, det skall fungera så. Ser din sql-sats ut exakt så som du har skrivit?
L LAMP Medlem sedan mars 2002 777 inlägg Jo, den är kopierad med Ctrl + c och inklistrad med Ctrl + v.
Mycket märkligt
@nders Medlem sedan juni 2000 32 967 inlägg Om det inte råkar vara så att vissa e-postadresser har exempelvis mellanslag före eller efter sig i fältet, då kan det ju se ut som att samma adress kommer fler gånger.
mvh,
L LarsG Medlem sedan dec. 2000 12 464 inlägg Avslutande blanka är inte signifikanta vid distinct.
Däremot så är inledande blanka signifikanta, men dessa borde vara lättare att se.
L LAMP Medlem sedan mars 2002 777 inlägg smart! men då borde jag få ut rätt med denna?
SQL ="select distinct trim(Email) from mail order by Email"
@nders Medlem sedan juni 2000 32 967 inlägg Vad använder du för dbms? Med Access borde det där fungera, men i T-SQL (SQL Server) finns inte Trim, utan du får använda LTRIM() för att slänga bort inledande blanka.
Möjligen får du med Access ha Order by 1 istället, och i SQL-Server ge ett alias på fältet, som du sedan sorterar på.
Mvh,
L LAMP Medlem sedan mars 2002 777 inlägg Tack, LTrim() löste problemet. Är inte första fältet i sql:en nr 0 ?
@nders Medlem sedan juni 2000 32 967 inlägg Nej, det är det inte, det är 1. Av någon anledning.
Det är dock ganska Access-specifikt.
Däremot, när du använder recordset på exempelvis en ASP-sida så är är första indexet 0.
Mvh,
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det är inte Access-specifikt att man kan använda
order by 1
Det stöds av de flesta dbms, även om det är borttaget ur SQL 99. Det som dock inte finns i Access är att man kan använda aliasnamn i order by.
select distinct email trim(email) as e from t order by e
Det finns i de flesta dbms och det är så det är tänkt enligt SQL 99
@nders Medlem sedan juni 2000 32 967 inlägg En tacker för förklaringen!
Mvh,