/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
SQL Server - Stored procedure
Fra : Thomas Voller


Dato : 13-02-05 15:24

Hej NG.




Jeg sidder og kæmper med en stored procedure i MS SQL server.

SELECT
tbl1.DateTime,
tbl1.Header,
tbl1.Content,
tbl1.UserID,
tbl1.CategoryID,
tbl1.CommentsAllowed,
tbl1.Draft,
COUNT(tbl2.ID) AS Comments
FROM
tbl1 LEFT OUTER JOIN tbl2 ON tbl1.ID = tbl2.ID
WHERE
tbl1.ID = @PostID
GROUP BY
tbl1.DateTime,
tbl1.Header,
tbl1.Content,
tbl1.UserID,
tbl1.CategoryID,
tbl1.CommentsAllowed,
tbl1.Draft


Jeg har lidt problemer med feltet "Content". Det er af typen "Text". Når jeg
kører ovenstående SP får jeg fejlen:
"The text, ntext, and image data types cannot be compared or sorted, except
when using IS NULL or LIKE operator."

Hvis jeg så i ren uvidenhed forsøger at fjenre feltet "Content" fra GROUP BY
delen af udtrykket får jeg:
"Column 'tbl1.Content' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY clause."

Så uanset hvad jeg kan finde på at prøve er det forkert. Kan en venlig sjæl
venligst vejlede?



Mvh.



 
 
Lars Hoffmann (13-02-2005)
Kommentar
Fra : Lars Hoffmann


Dato : 13-02-05 16:21

Thomas Voller wrote:
> Hej NG.

> Så uanset hvad jeg kan finde på at prøve er det forkert. Kan en venlig sjæl
> venligst vejlede?

Ja det er ikke nemt. Faktisk er fejlmeddelelsen korrekt i og med at det du
prøver at gøre ikke kan virke, er du sikker på at det du vil er at aggrupere
på så mange felter?

Mpske kan du caste content i stil med cast(content as varchar(50)) både i
select og i group by, men min næse siger mig at det ikke dirrekte er problemet.
Med venlig hilsen
Lars Hoffmann

Thomas Voller (13-02-2005)
Kommentar
Fra : Thomas Voller


Dato : 13-02-05 16:42

"Lars Hoffmann" <lars@intercambiodvd.com> skrev
>> Så uanset hvad jeg kan finde på at prøve er det forkert. Kan en venlig
>> sjæl venligst vejlede?
>
> Ja det er ikke nemt. Faktisk er fejlmeddelelsen korrekt i og med at det du
> prøver at gøre ikke kan virke, er du sikker på at det du vil er at
> aggrupere på så mange felter?


Mjah, jeg kender ikke andre muligheder, men det kan udmærket skyldes
udvidenhed fra min side.

Det jeg ønsker er at vælge følgende felter fra tbl1:
DateTime (datetime)
Header (varchar(100))
Content (text)
UserID (int)
CategoryID (int)
CommentsAllowed (bit)
Draft (bit)

Desuden ønsker jeg at tælle hvor mange rækker i tbl2, der matcher hver
individuelt valgt række fra tbl1. Tabellen kunne altså komme til at ligne
noget ala:
http://voller.dk/data/temp/db.htm

Det kan være jeg gør det på en helt uhensigtsmæssig måde?



Mvh.



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste