Avatar billede plato Juniormester
02. marts 2014 - 09:42 Der er 12 kommentarer og
1 løsning

Vis den 1 af doubletter i tabel

Hej alle

Jeg har en tabel (Har lavet en query og form for den) hvor jeg gerne vil have listet "top" 1 af de nuværende doubletter.

Se evt. billede for bedre forklaring:
http://billedeupload.dk/images/uwPpx.png

I tabellen kan man oprette flere jobs under samme bruger. Og jeg vil gerne lave en komplet liste der lister alle, men den skal "skjule" dubletter og kun vise den nyeste (ud fra DatoB) for hver EmpId.

Giver det mening?
Avatar billede mugs Novice
02. marts 2014 - 09:55 #1
Feks- således:

SELECT TOP 1 Tabel1.nr, Tabel1.felt1, Tabel1.tid
FROM Tabel1
ORDER BY Tabel1.nr DESC;
Avatar billede plato Juniormester
02. marts 2014 - 10:04 #2
Kan du oversætte til ovenstående tabel?

Forstår ikke helt hvad du mener med Tabel1.nr?

Tabel1.Felt1 = EmpId?
Tabel1.tid = DataB?

Tabel1 = tblTraining
Tabel1.nr = ?
Avatar billede mugs Novice
02. marts 2014 - 10:16 #3
Det er blot mine objektnavne. Erstat Tabel1 med navnet på din tabel og feltnavnene med navnene på dine felter.
Brug evt. querybuilderen.
Avatar billede plato Juniormester
02. marts 2014 - 10:18 #4
Tak det virker. Har dog lige et mindre problem

Form skal vise data fra 2 andre tabeller som har relation til tblTraining

tblEmploy (EmpId, Init, Fnavn, Lname osv)
tblJobs (JobId, title osv)

Hvordan kobler jeg de 2 på uden at de bliver sorteret med Top1? Men selvfølgelig bare henter de relavante data?
Avatar billede plato Juniormester
02. marts 2014 - 10:28 #5
Min select ser sådan ud:
SELECT [tblEmploy].[EmpId] AS tblEmploy_EmpId, [tblEmploy].[Init], [tblJobs].[JobId] AS tblJobs_JobId, [tblJobs].[Title], [tblTraining].[TrainingId], [tblTraining].[EmpId] AS tblTraining_EmpId, [tblTraining].[JobId] AS tblTraining_JobId, [tblTraining].[DateB], [tblTraining].[DateE], [tblTraining].[Approval], [tblTraining].[TrainedBy] FROM tblJobs INNER JOIN (tblEmploy INNER JOIN tblTraining ON [tblEmploy].[EmpId]
Avatar billede terry Ekspert
02. marts 2014 - 10:33 #6
Not quite sure what your after.

kun vise den nyeste (ud fra DatoB)

The two lines you are indicating have the same datoB!

Are you saying that you only want to see the one with the highest TrainingId?

If so, then do this
Make a query where you Groupp on EmpId and DateB and choose Max for Training Id. Don't select any other fields.

Now save the query.

Now make another query where you select all of the fields from the query you just made. Add the table to the query again and make a join on TrainingId between the first query and the table.
Now select the remaining fields from the table.

Hope you understand that.
Avatar billede terry Ekspert
02. marts 2014 - 10:34 #7
Forget my answer, hadn't seen all of the comments ...
Avatar billede terry Ekspert
02. marts 2014 - 10:37 #8
But I still don't understand what your after :-)

As far as I can make out mugs query will only return one record ...
Avatar billede plato Juniormester
02. marts 2014 - 10:39 #9
Mugs gav mig dette:
SELECT TOP 1 tblTraining.EmpId, tblTraining.JobId, tblTraining.DateB FROM tblTraining ORDER BY tblTraining.DateB DESC;

Og det virker i min form. Men jeg skal bruge data fra 2 andre tabeller som tblTraining har relation til, og jeg ved ikke hvordan jeg kobler det på ovenstående.
Avatar billede plato Juniormester
02. marts 2014 - 10:40 #10
Det vil sige at jeg skal have denne her funktion:
SELECT TOP 1 tblTraining.EmpId, tblTraining.JobId, tblTraining.DateB FROM tblTraining ORDER BY tblTraining.DateB DESC;

sat ind i denne her:
SELECT [tblEmploy].[EmpId] AS tblEmploy_EmpId, [tblEmploy].[Init], [tblJobs].[JobId] AS tblJobs_JobId, [tblJobs].[Title], [tblTraining].[TrainingId], [tblTraining].[EmpId] AS tblTraining_EmpId, [tblTraining].[JobId] AS tblTraining_JobId, [tblTraining].[DateB], [tblTraining].[DateE], [tblTraining].[Approval], [tblTraining].[TrainedBy] FROM tblJobs INNER JOIN (tblEmploy INNER JOIN tblTraining ON [tblEmploy].[EmpId]
Avatar billede plato Juniormester
02. marts 2014 - 10:51 #11
Jeg har forøvrigt en Query på den form. Kan man ikke benytte et eller andet under "criteria"-felterne i min query?
Avatar billede plato Juniormester
02. marts 2014 - 14:19 #12
Oprettter nyt spm.
Avatar billede plato Juniormester
02. marts 2014 - 14:20 #13
Mugs, din løsning var rigtig til det oprindelige spm. Smid svar. :)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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