Just nu i M3-nätverket
Jump to content

Select distinct och collate


Magnusgust

Recommended Posts

Hej!

 

Jag får inte detta att fungera:

sSQL="SELECT DISTINCT Left(Namn,1) as FirstChar from tblAdrNamn COLLATE SQL_Scandinavian_CP850_CI_AS"

Felmeddelandet är:

Microsoft OLE DB Provider for SQL Server fel '80040e14'

 

Incorrect syntax near the keyword 'COLLATE'.

 

/start.asp, line 14

 

Någon som har någon idé?

 

Link to comment
Share on other sites

collate kan du, till exempel, ange vid order by

 

sSQL="SELECT DISTINCT Left(Namn,1) as FirstChar from tblAdrNamn order by FirstChar COLLATE SQL_Scandinavian_CP850_CI_AS"

 

Link to comment
Share on other sites

Eller kanske

 

sSQL="SELECT DISTINCT Left(Namn COLLATE SQL_Scandinavian_CP850_CI_AS,1) as FirstChar from tblAdrNamn"

 

Om det är så att DISTINCT ska ske enligt din collation så måste du ange det *innan* DISTINCT utförs. Alltså, här tar DISTINCT 'A' och 'a' som samma tecken eftersom din collation fungerar så (CI i collation-namnet står ju för "case insensitive").

 

 

Om du däremot bara vill sortera det färdiga resultatet enligt din collation så räcker det med att ange det i ORDER BY, som föregående inlägg föreslog. Du får då med både 'A' och 'a' i resultatet, vilket därefter sorteras case insensitivt.

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...