Avatar billede loopstudio Nybegynder
02. april 2004 - 14:03 Der er 6 kommentarer og
1 løsning

Virker Access-SQL's også i MS SQL uden konvertering?

F.eks. nedenstående:

"SELECT TOP 10 tabel1.track_id, MAX(tabel1.dato) AS MaksOfdato1, LAST(tabel1.procent) AS SidsteOfprocent..."

Her er der f.eks. brugt TOP, MAX, LAST, AS..

Kan alt dette genbruges præcist som det står i MS SQL?
Avatar billede terry Ekspert
02. april 2004 - 17:45 #1
No, Access's SQL is NOT always compatible with SQL Server
Avatar billede terry Ekspert
02. april 2004 - 17:49 #2
You can use TOP  and MAX but as far as I know not LAST/FIRST
Avatar billede loopstudio Nybegynder
02. april 2004 - 19:51 #3
Hvordan ville den tilsvarende ovenstående sætning se ud i MS SQL?

Og kender du til andre forskelle i MS SQL? F.eks. ifm. dato-formater, datatyper o.lign.?
Avatar billede terry Ekspert
03. april 2004 - 10:43 #4
I would know, but that wasnt the question :o)
Avatar billede terry Ekspert
03. april 2004 - 10:47 #5
There are LOTS of differences between Access and SQL Server's SQL Langauge far too many to mention here!
Avatar billede loopstudio Nybegynder
04. april 2004 - 22:56 #6
ok, jeg har åbentbart ikke skrevet tydeligt nok, hvad det var jeg ville opnå. Mit mål at finde ud af om ovenstående SQL-sætning kunne oversættes til MS SQL ..SAMT hvordan den så ville se ud..

Kan du hjælpe mig med dette, hvis nu jeg giver dobbelt op på pointene?

Her er hele SQL-sætningen som jeg skal have oversat:

SELECT TOP 10 tabel1.track_id, MAX(tabel1.dato) AS MaksOfdato1, LAST(tabel1.procent) AS SidsteOfprocent, tabel2.ID, tabel3.sidstePos, tabel3.sidsteDato, tabel3.antalDage FROM (tabel1 INNER JOIN tabel3 ON tabel1.track_id = tabel3.ID) INNER JOIN tabel2 ON tabel3.pID = tabel2.ID WHERE NOT tabel3.slettet GROUP BY tabel1.tID,  tabel2.ID, tabel3.sidstePos, tabel3.sidsteDato, tabel3.antalDage ORDER BY LAST(tabel1.procent) DESC, tabel3.antalDage DESC;
Avatar billede loopstudio Nybegynder
04. april 2004 - 23:03 #7
sorry, tastefejl! Her er den uden fejl (i hope):

SELECT TOP 10 tabel1.tID, MAX(tabel1.dato) AS MaksOfdato1, LAST(tabel1.procent) AS SidsteOfprocent, tabel2.ID, tabel3.sidstePos, tabel3.sidsteDato, tabel3.antalDage FROM (tabel1 INNER JOIN tabel3 ON tabel1.tID = tabel3.ID) INNER JOIN tabel2 ON tabel3.pID = tabel2.ID WHERE NOT tabel3.slettet GROUP BY tabel1.tID, tabel2.ID, tabel3.sidstePos, tabel3.sidsteDato, tabel3.antalDage ORDER BY LAST(tabel1.procent) DESC, tabel3.antalDage DESC;
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