31. marts 2009 - 12:24Der er
6 kommentarer og 1 løsning
DISTINCT sql problem
jeg har sql linien
SELECT DISTINCT fabrikat FROM tooltabel
skulle gerne give mig en liste af fabrikat navne hvor alle gengangere er frasorterede , men distinct brokker sig fordi fabrikat er en text (det er alle felter i tooltabel i øvrigt)
Er det virkelig nødvendigt at benytte text-typen for alle kolonner?? Hvad er det for data du har liggende i de felter?
Hvilken database er det?
Det ville måske fungere, at konvertere data til en mere håndterbar type, f.eks. varchar, men det kræver at dataformatet tillader dette...
Eksempelvis:
SELECT DISTINCT CAST(fabrikat AS varchar(50)) FROM tooltabel
Dog vil jeg mene, at det er et tegn på et designproblem, hvis du benytter text-typen til alle kolonner (det kan godt være det er nødvendigt i dit tilfælde - det virker bare lidt atypisk)...
Text datatypen bør kun bruges, når du har en lang tekst. Hvis du har navnet på et-eller-andet, bør man bruge varchar eller nvarchar. At misbruge Text datatypen, ender med at give dig EKSTREME performance problemer. Ud over dette, virker de fleste text-functions ikke på Text kolonner, som du jo selv har erfaret.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.