Avatar billede webbe Nybegynder
09. juli 2001 - 12:51 Der er 14 kommentarer og
1 løsning

Group By i Oracle

Hejsa

Jeg skal bruge en group by function på en oracle database.

Min sql ser sådan ud:

rs.Open \"SELECT * FROM Tourplan GROUP BY Art_id;\", Connect, 1, 3

Men jeg får følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e21\'

ODBC driver does not support the requested properties.

/new/musik/admin/tour_list.asp, line 11


Feltet Art_id er et nummer-felt der er sat til not null, da der gerne må være flere felter med samme værdi, men feltet er IKKE primary key.

Er der nogen der kan hjælpe mig?
Avatar billede Slettet bruger
09. juli 2001 - 13:03 #1
Jeg har ikke prøvet ASP, men er du sikker på, at der skal være et semikolon efter Art_id?
Avatar billede webbe Nybegynder
09. juli 2001 - 13:04 #2
Det skulle ikke betyde noget om der er det eller ej....det virker nemlig heller ikke uden semikolon! ;o(
Avatar billede Slettet bruger
09. juli 2001 - 13:06 #3
Hov!

Du kan ikke skrive \'select *\'.

Da du laver en \'GROUP BY\' må du jo ikke selecte
felter, som muligvis ikke har en entydig værdi.

Du skal i stedet skrive \'select art_id, min(felt1), max(felt2)...\'
hvor felt1, felt2, ... er felter i din tabel.

Avatar billede webbe Nybegynder
09. juli 2001 - 13:08 #4
Prøv lige at omskrive min sql-sætning så!
Avatar billede Slettet bruger
09. juli 2001 - 13:11 #5
Hvis sætningen skal omskrives, må du jo fortælle mig, hvilke felter der er i tabellen Tourplan og hvad du skal bruge det til.
Avatar billede webbe Nybegynder
09. juli 2001 - 13:13 #6
ID   
ART_ID
DATO 
KLOKKE
STED 
CITY 

Det er mine felter.....skal have listet posterne i tabellen....men vil ikke have alle id\'erne listet!
Avatar billede Slettet bruger
09. juli 2001 - 13:17 #7
Hvis Art_id er unik, behøver du ikke nogen GROUP BY. Du kunne måske lave en ORDER BY i stedet?

Men ellers:

SELECT ART_ID, min(DATO) dato, min(KLOKKE), min(STED) sted, min(city) CITY FROM Tourplan GROUP BY Art_id

Avatar billede webbe Nybegynder
09. juli 2001 - 13:18 #8
Art_id er ikke unik!
Det er kun ID der er unik!
Avatar billede Slettet bruger
09. juli 2001 - 13:24 #9
Hvad er det egentlig, du vil have?

Hvad er art_id?

Avatar billede webbe Nybegynder
09. juli 2001 - 13:27 #10
Art_id er et artist nummer.....der må jo gerne være flere poster (tourplaner) for den samme artist, men jeg vil ikke vise hver enkelt post i min liste.....de bliver kaldt når man klikker på et link i min oversigt!

Hvis jeg bruger ORDER BY får jeg jo listet alt hvad der ligger i tabellen!
Avatar billede Slettet bruger
09. juli 2001 - 13:32 #11
Så kan du jo bare skrive

select distinct art_id from tourplan
Avatar billede webbe Nybegynder
09. juli 2001 - 13:33 #12
Og så får jeg kun vist art_id én gang??
Avatar billede Slettet bruger
09. juli 2001 - 13:34 #13
Ja. Og de er sorterede.
Avatar billede webbe Nybegynder
09. juli 2001 - 13:37 #14
Okay - har testet....nu opstod der bare et andet problem!

Jeg har en text (Slet) som anvender et javascript til at slette et id!
Der siger den jo at den ikke kan finde \"requested name or ordinal\" hvilket jo også er klar nok set ud fra min select!

Kanj eg komme uden om det?
Avatar billede webbe Nybegynder
09. juli 2001 - 13:39 #15
Har selv løst den.....bruger bare art_id istedet for id på slettefunktionen!

Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester