Just nu i M3-nätverket
Gå till innehåll
Kristianstad

MS SQL - Moment 22?

Rekommendera Poster

Hejsan,

 

Kör MSSQL, en databashanterare som jag inte är särskilt van vid.

 

[color="#0000ff"]SELECT[/color] varchar, [color="#0000ff"]AVG[/color](int), text [color="#0000ff"]FROM[/color] tabell [color="#0000ff"]GROUP BY[/color] varchar

Har för att göra det enklare för er döpt kolumnerna till de datatyper de har.

 

Felmeddelandet efter denna SQL-fråga blir "Column 'text' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."

 

Jahaja, tänkte jag. Då får jag väl lägga till text i GROUP BY ->

[color="#0000ff"]SELECT[/color] varchar, [color="#0000ff"]AVG[/color](int), text [color="#0000ff"]FROM[/color] tabell [color="#0000ff"]GROUP BY[/color] varchar, text

 

Felmeddelandet efter denna SQL-fråga blir "The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator."

 

 

Vad gör jag fel? Varför ger den dessa felmeddelanden?

 

Tack på förhand!

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Vad gör jag fel? Varför ger den dessa felmeddelanden?

Inget fel, de datatyperna kan helt enkelt inte hanteras av Group By. För att komma runt det får du konvertera fältet till varchar först:

 

SELECT varchar, AVG(int), CAST(text AS varchar) FROM tabell GROUP BY varchar, CAST(text AS varchar)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Hur mycket data ska du lagra i fältet som har typen text? Är det under 8000 tecken är varchar() bättre och dessutom fungerar alla SQL-funktioner med det, utan att krångla med typkonverteringar.

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...