25. januar 2006 - 09:04
Der er
15 kommentarer og 1 løsning
Intervalgruppering af husnumre
Hej venner .... En tabel indeholder følgende informationer : Postnr nummerisk Rutenr nummerisk Gade alfanummerisk Husnr nummerisk Jeg skal have lavet et udtræk som i intervaller viser hvilke Husnr som hører til hvilke Rutenr ... Eksempel : Flere Rutenr deler en Gade, f.eks. nr. 1-7 + 17-21 + 31-33 hører til Rutenr 100 og nr. 9-15 + 23-29 hører til Rutenr 110 Tabelmæssigt ser oplysningerne således ud : Postnr Rutenr Gade Husnr 1000 100 Roskildevej 1 1000 100 Roskildevej 3 1000 100 Roskildevej 5 1000 100 Roskildevej 7 1000 110 Roskildevej 9 1000 110 Roskildevej 11 1000 110 Roskildevej 13 1000 110 Roskildevej 15 1000 100 Roskildevej 17 1000 100 Roskildevej 19 1000 100 Roskildevej 21 1000 110 Roskildevej 23 1000 110 Roskildevej 25 osv .... Nogle gode ideer til hvordan SQL skal strikkes sammen ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
25. januar 2006 - 12:13
#1
If you want a result something like this 1000, 100, Roskilevej, "1-7 + 17-21 + 31-33" then I very much dout that you can do it directly in SQL
25. januar 2006 - 13:35
#2
Hvad med en ORDER BY? SELECT * FROM tabel ORDER BY Postnr, Rutenr, Husnr
25. januar 2006 - 13:36
#3
Yes, something like that ... or better ... 1000,100, Roskildevej,1-7 1000,110, Roskildevej,9-15 1000,100, Roskildevej,17-21 1000,110, Roskildevej,13-29 1000,100, Roskildevej,31-33
25. januar 2006 - 13:52
#4
Hvad siger du "yes" til? ;-)
25. januar 2006 - 13:55
#5
tjp > din løsning giver ikke en Husnr-intervalindeling i forhold til gade, postnr og rutenr
25. januar 2006 - 14:23
#6
Et skud fra hoften uden test eller noget: SELECT Postnr, Rutenr, Gade, min(Husnr) AS Fra, max(Husnr) AS Til FROM tabel GROUP BY Rutenr ORDER BY Postnr, Rutenr
25. januar 2006 - 14:25
#7
Måske nærmere: SELECT Postnr, Rutenr, Gade, min(Husnr) AS Fra, max(Husnr) AS Til FROM tabel GROUP BY Rutenr ORDER BY Postnr, Fra
25. januar 2006 - 14:32
#8
tjp > min / max vil give dette output 1000,100, Roskildevej, 1-33 1000,120, Roskildevej, 9-29 Og der er overlab kan du se ;o)
25. januar 2006 - 15:54
#9
Tja, så er og bliver mit bedste bud stadig: SELECT Postnr, Rutenr, Gade, Husnr FROM Tabel ORDER BY Postnr, Husnr;
25. januar 2006 - 16:04
#10
tjp> det kan godt være at det er dit bedste bud :o) ... men en gruppering på husnummer viser altså ikke intervallet af husnumre som der er på gaden, men returnere nøjagtigt det samme som tabelindholdet ;o) Opgaven er ikke sådan ligetil ...
25. januar 2006 - 16:56
#11
Idé kan man leve en krydstabulering på husnummer, og så afkode/læse intervallet fra venstre mød højre ... ? Altså : 1 3 5 7 9 11 13 15 17 19 1000,100, Roskildevej x x x x x x 1000,110, Roskildevej x x x x Nogen forslag ?
29. januar 2006 - 17:24
#12
Lukker : Løsning fundet
30. januar 2006 - 00:24
#13
Hvilken? ;-)
30. januar 2006 - 08:37
#14
30. januar 2006 - 14:53
#15
Tjek. Ah, jeg troede at det skulle være i SQL. Med et script er det jo ikke så langhåret endda. ;-)
30. januar 2006 - 15:12
#16
Jeg konkluderede hurtigt, at data ikke kunne afkodes vertikalt, men kun horisontalt, og derfor kunne det ikke gøres i SQL alene
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser