|
| [MS SQL 7] Group by Fra : Lars Hoffmann |
Dato : 12-02-02 16:26 |
|
Foelgende kan jeg ikke faa til at virke i MS SQL server, men virker dog
perfekt i Access, hvad skal jeg aendre?
SELECT count(id), 'hallo' as test
FROM my_table
GROUP BY test
Jeg mangler skal altsaa lave en group by paa en beregnet kolumne.
Med venlig hilsen
Lars Hoffmann
| |
Nis Jorgensen (12-02-2002)
| Kommentar Fra : Nis Jorgensen |
Dato : 12-02-02 18:26 |
|
On Tue, 12 Feb 2002 16:25:32 +0100, "Lars Hoffmann"
<lars@intercambiodvd.com> wrote:
>Foelgende kan jeg ikke faa til at virke i MS SQL server, men virker dog
>perfekt i Access, hvad skal jeg aendre?
>
>SELECT count(id), 'hallo' as test
>FROM my_table
>GROUP BY test
>
>Jeg mangler skal altsaa lave en group by paa en beregnet kolumne.
Umiddelbart skulle jeg mene at du bare kan bruge
SELECT count(id), 'hallo' as test
FROM my_table
altsaa uden GROUP BY. Det kraever selvfoelgelig at den beregnede
kolonne er uafhaengigt af de aktuelle data - ikke saerligt
sandsynligt.
Ellers boer dette virke:
SELECT count(id), 'hallo' as test
FROM my_table
GROUP BY 'hallo'
(jeg ville ogsaa forvente at dit foerste forslag virkede, selv om det
ikke foelger SQL-standarden)
--
Nis Jorgensen
Amsterdam
Please include only relevant quotes, and reply below the quoted text. Thanks
| |
Lars Hoffmann (12-02-2002)
| Kommentar Fra : Lars Hoffmann |
Dato : 12-02-02 19:09 |
|
Nis Jorgensen <nis@dkik.dk> escribió en el mensaje de noticias
viji6u8n660i342mroqbjsg46l84mpb9iu@4ax.com...
> Umiddelbart skulle jeg mene at du bare kan bruge
>
> SELECT count(id), 'hallo' as test
> FROM my_table
>
> altsaa uden GROUP BY. Det kraever selvfoelgelig at den beregnede
> kolonne er uafhaengigt af de aktuelle data - ikke saerligt
> sandsynligt.
Nu var det maaske et daarligt eksempel jeg gav, men pointen er at jeg
ville bruge group by paa en beregnet kolonne.
> Ellers boer dette virke:
>
> SELECT count(id), 'hallo' as test
> FROM my_table
> GROUP BY 'hallo'
Har jeg ogsaa proevet, virker heller ikke. Den siger noget i stil med at
der ikke kan gruperes paa en kolonne der ikke er defineret min select
statement.
Med venlig hilsen
lars Hoffmann
| |
Nis Jorgensen (12-02-2002)
| Kommentar Fra : Nis Jorgensen |
Dato : 12-02-02 20:06 |
|
On Tue, 12 Feb 2002 19:09:27 +0100, "Lars Hoffmann"
<lars@intercambiodvd.com> wrote:
>Nu var det maaske et daarligt eksempel jeg gav, men pointen er at jeg
>ville bruge group by paa en beregnet kolonne.
>> Ellers boer dette virke:
>>
>> SELECT count(id), 'hallo' as test
>> FROM my_table
>> GROUP BY 'hallo'
>
>Har jeg ogsaa proevet, virker heller ikke. Den siger noget i stil med at
>der ikke kan gruperes paa en kolonne der ikke er defineret min select
>statement.
Jeg tjekkede lige - man kan ganske rigtigt ikke goere saadan ifoelge
SQL-standarden.
Joe Celko giver foelgende workarounds i SQL for Smarties:
SELECT * FROM
(SELECT count(id), 'hallo' as test FROM my_table)
GROUP BY test;
og
SELECT DISTINCT 'hallo' as test,
(SELECT count(id) FROM my_table m1
WHERE m1.'hallo' = m2.'hallo')
FROM my_table m2;
--
Nis Jorgensen
Amsterdam
Please include only relevant quotes, and reply below the quoted text. Thanks
| |
Lars Hoffmann (12-02-2002)
| Kommentar Fra : Lars Hoffmann |
Dato : 12-02-02 23:25 |
|
Nis Jorgensen wrote in dk.edb.database
> Joe Celko giver foelgende workarounds i SQL for Smarties:
>
Perfekt, det var lige det jeg skulle bruge.
| |
Lars Hoffmann (13-02-2002)
| Kommentar Fra : Lars Hoffmann |
Dato : 13-02-02 09:04 |
|
Nu var jeg lige lidt for hurtig til at sige at det var det jeg maglede.
Ingen af dem virker..
Nis Jorgensen <nis@dkik.dk> escribió en el mensaje de noticias
v8pi6uggge8s7mnoreckblt2b2t1sg53e1@4ax.com...
> Joe Celko giver foelgende workarounds i SQL for Smarties:
>
> SELECT * FROM
> (SELECT count(id), 'hallo' as test FROM my_table)
> GROUP BY test;
Her siger den "Error near GROUP"
> SELECT DISTINCT 'hallo' as test,
> (SELECT count(id) FROM my_table m1
> WHERE m1.'hallo' = m2.'hallo')
> FROM my_table m2;
Her siger den "Error near hallo"
Jeg saetter stor pris paa din hjaelp da de er ret vitalt for mine SP's
at kunne grupere paa en beregnet kolumne.
Med venlig hilsen
Lars Hoffmann
| |
Peter Lykkegaard (13-02-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 13-02-02 09:26 |
|
"Lars Hoffmann" <lars@intercambiodvd.com> wrote in message
news:a4d6jh$dcq$1@newsreader.mailgate.org...
> Nu var jeg lige lidt for hurtig til at sige at det var det jeg maglede.
> Ingen af dem virker..
>
> Jeg saetter stor pris paa din hjaelp da de er ret vitalt for mine SP's
> at kunne grupere paa en beregnet kolumne.
>
Lav et view med dine beregninger og lav Group By på dit view
På den måde vedligeholder du også dine ét sted frrem for flere SP's
mvh/Peter Lykkegaard
| |
Lars Hoffmann (13-02-2002)
| Kommentar Fra : Lars Hoffmann |
Dato : 13-02-02 10:36 |
|
Peter Lykkegaard <polonline@hot.mail.com> escribió en el mensaje de
noticias fhpa8.14$eS2.885@news.get2net.dk...
>
> Lav et view med dine beregninger og lav Group By på dit view
> På den måde vedligeholder du også dine ét sted frrem for flere SP's
Hvis det vel og maerke er de samme beregninger jeg laver for flere
forskellige views, hvilket det ikke er. Dette ville resutlarerer i at
jeg skulle lave dobbelt saa mange views som egentlig noedvendigt. Jeg
har dog endlig loest problemet paa foelgende maade, inspireret af hvad
du skrev:
SELECT test, COUNT(Perfil) AS perfil2
FROM (SELECT ' hola' AS test, Perfil
FROM USUARIOS) AS me
GROUP BY test
Faktisk er det jo 2 views, men de er slaaet sammen i en saetning hvilket
for mig goer det en del nemmere.
Tak til baade Peter og Nis for hjaelp og inspiration.
Med venlig hilsen
Lars Hoffmann
| |
|
|