Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[access] query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mensen ik zit met een probleem. Ik schets even mijn situatie:

Ik heb twee tabellen in access.
Tabel 1:
TIJD / AFSTAND
8:15_________1.3
8:16_________2.0
8:17_________2.2
8:18_________1.7
8:19_________1.0
8:20_________1.2
8:21_________1.9
8:22_________2.9
etc.

Tabel 2:
START TIJD / EIND TIJD
8:15___________8:17
8:19 __________8:21

Nu wil ik van deze 2 tabellen 1 tabel maken die er alsvolgt uitziet:

START TIJD / EIND TIJD / AFSTAND
8:15__________8:17________ 5.5
8:19__________8:21________ 4.1

De vraag is dus hoe kan ik de afstanden uit de ene tabel filteren aan de hand van de start en de eindtijd uit de andere tabel om deze vervolgens op te tellen en samen te voegen.

Tips zijn van harte welkom.

[ Voor 22% gewijzigd door Verwijderd op 22-09-2009 23:08 ]


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ideetje:
SQL:
1
2
3
4
5
select startTime, endTime, sum(distance) from StartEndQuery inner join Distances 
        on (Distances.distanceTime 
            between StartEndQuery.startTime and StartEndQuery.endTime)
    group by startTime, endTime
    order by startTime, endTime

Werkt alleen niet goed bij dubbele start-/eindtijd-combinaties ivm gebrek aan id. Ik vrees dat de design-view dit niet weer kan geven.
of:
SQL:
1
2
3
4
select startTime, endTime, (select sum(distance) from Distances where distanceTime 
        between StartEndQuery.startTime and StartEndQuery.endTime) as totalDistance
    from StartEndQuery 
    order by startTime, endTime

Vast heel erg traag. :) Keyword: subquery

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Verwijderd

Topicstarter
Hey super. Dit is een begin..

Ik heb de sql aangemaakt hij geeft echter nog een foutmelding. Ik heb hem even vertaald naar de eerder genoemde velden:

Tabel 1
Tijd
Afstand

Tabel 2
Start tijd
Eind tijd

select [start tijd], [eind tijd], sum(afstand) from [Tabel 2] inner join afstand
on ([afstand].[tabel 1]
between [tabel 2].[Start tijd] and [Tabel 2].[Eind tijd])
group by [start tijd], [eind tijd]
order by [start tijd], [eind tijd]


Wat doe ik hier fout?

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Je probeert 1-op-1 mijn oplossing over te nemen, zonder dat je snapt wat er gebeurd, en je maakt daarbij 'overtypfouten'.. :) Het lijkt me handiger als je begrijpt wat er gebeurd door even een SQL- of Databases-tutorial erbij te pakken. Dan zou je snappen dat er bijvoorbeeld een groot verschil is tussen [afstand].[tabel 1] en [tabel 1].[afstand] (en hetzelfde geld tussen afstand en 'Tabel 1' natuurlijk. Ook zou je er achter komen dat 'tabel 1' niet echt een nuttige, omschrijvende naam is. 'Start tijd' is SOS, en het is daarnaast nuttig om niet 'Starttijd' en 'starttijd' door elkaar te gebruiken.

offtopic:
Het schijnt handig te zijn om bij een foutmelding deze altijd te vermelden. :) Daarnaast kent dit forum [code]-tags. :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten