Avatar billede martens Guru
01. oktober 2016 - 16:47 Der er 4 kommentarer og
2 løsninger

Fjerne dubletter i kolonne ( gruppere ), der er relateret til anden tabel

Har to  tabeller medhhv. By-navn og anden tabel med bil-nummer samt info på køretøjet.

Er det muligt at lave en grupperingsforspørgsel., der KUN lister bynavnet én gang og lister bil-numrene som vist nedenfor i EX2

EX1
tbl_city        tbl_cars

KBH            bil_01
KBH            bil_02
KBH            bil_03
KBH            bil_04
ARH            bil_05
ARH            bil_06
ARH            bil_07
AAL              bil_08
AAL              bil_09
AAL              bil_10


så det  kommertil at se således ud :
EX2
tbl_city        tbl_cars

KBH            bil_01
                    bil_02
                    bil_03
                    bil_04
ARH            bil_05
                    bil_06
                    bil_07
AAL              bil_08
                    bil_09
                    bil_10


mvh martens
Avatar billede terry Ekspert
01. oktober 2016 - 17:46 #1
Not sure that's possible, but I'll take a look tomorrow when I have a bit more time.
Maybe easier in a report based on query...

I'm assuming the two tables are related in some way, can you show other fields in tables?
Avatar billede bvirk Guru
02. oktober 2016 - 09:41 #2
Man kan lade feltet der skal optræde som heading være beregnet
Hvis vi forenkler og konkretiserer listning EX1 til ÈN tabel:
Biler (byn,bil)

SELECT iif(isnull(heading),"",byn) as bynavn,bil
FROM Biler LEFT JOIN
(select first([bil]) AS heading from Biler group by [byn]) as fbil
ON biler.bil=fbil.heading order by Biler.bil

Bemærk ens sortering på bilnavn i både indre og ydre select
Avatar billede terry Ekspert
02. oktober 2016 - 09:56 #3
yes that looks like it could work, similar as to what I was thinking of myself :-)
Avatar billede terry Ekspert
04. oktober 2016 - 12:15 #4
after a bit of testing I'm not sure bvirk's solution works :-(

If we take EX1 as being one table and using the test data as it is, sorting on biler.bil will result in correct result. But if the names of the cars is say reg number then it wont.

Removing sort doesnt help as records can be created in random order.
Maybe I'm not seeing something so cant be sure it doesnt work.

Anyway here is an idea which may work although not thoroughly tested. Still using EX1 as example table.

Should be straightforward ...

SELECT IIf([CNT]=0,[byn],"") AS Byn_Header, C.bil
FROM (SELECT Biler.byn, Biler.bil, (SELECT Count(*) from Biler B where Biler.byn = B.byn and B.bil < Biler.bil) AS CNT
FROM Biler
ORDER BY Biler.byn, Biler.bil )  AS C;
Avatar billede martens Guru
04. oktober 2016 - 21:40 #5
Hej Terry !

Det du har lavet "sidder lige i skabet"...
Det virker lige præcis som jeg havde tænkt det !
Tak for det !

Det bvirk lavede, virkede også OK sådan umiddelbart, men ved gennemgang af faktiske forhold, viste det sig, at kode ikke grupperede korrekt efter bynavne,,, Der var enkelte biler, der sneg sig ind på bynavne, der startede med samme begyndelse af bynavn ( eks : "Ballerup" og "Ballerup EL-biler" blev mikset sammen.)

Det sker ikke med Terrys kode, der grupperer på det fulde navn for "byen + det løse"
------
Jeg har lige et tillægsspørgsmål : jeg har et felt med typen på bilen feltet hedder blot  "Car_Type" (opdagede at Type er et reserveret ord i MSACCESS) dette felt vil jeg oså gerne have vist via SQL-koden, men det har drillet mig at få feltet med i  koden.... Men det er sikkert piece of cake for dig Terry ;o)

Igen tak for en super indsats !

mvh martens
Avatar billede terry Ekspert
05. oktober 2016 - 10:24 #6
Type may be a reserved word in Access but Car_Type shouldn't give any problems. And you can put it in square brackets [Type] which should also get around it.

This should do the trick. Notice that any other fields you want in query need to be added two places. C.Car_TYpe and Biler.Car_type.

SELECT IIf([CNT]=0,[byn],"") AS Byn_Header, C.bil, C.Car_Type
FROM (SELECT Biler.byn, Biler.bil, Biler.Car_Type, (SELECT Count(*) from Biler B where Biler.byn = B.byn and B.bil < Biler.bil) AS CNT FROM Biler ORDER BY Biler.byn, Biler.bil)  AS C;
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

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