15. marts 2003 - 11:43Der er
26 kommentarer og 1 løsning
Hjælp med min SQL-sætning.
jeg har følgende tabeller:
Bestilling(bestillingsnr, Vognnummer, Start_D_navn, Slut_D_navn, Bestillingsdato) =Start... og Slut... er de distrikter hvor Taxa´en(vognnummer) starter og slutter.
Distikter(D_navn, D_nr) = denne viser alle distrikter
Det jeg skal finde er de vognummer der har været i alle distrikter. Jeg håber der nogen der kan hjælpe, da jeg er løbet tør for ideer. gerne svar i SQL-sætning.
du bliver vel nødt til at have en tabel som indeholde vognnummer samt distriktnr (for de destrikter vognen kører i) Eller er det underforstået at når start og slut er 60-70 så er der kørt i 60,61,62,63,64,65,66,67,68,69,70 ?
jeg kender ikke det store til vb-programmering og moduler i access, men du må vel kunne lave en løkke, som tæller fra start til slut og udskriver alt imellem incl. start og slut
så for jeg både udskrevet bestillingsnr og vognnummer, og jeg kan vel ikke være sikker på at taxa´en har været i alle distrikter. jeg skal kun havde udskrevet de vognnummer hvor taxaén har været i ALLE distrikter.
jeg har aldrig sagt jeg kun har to Distriket, der er mange. Taxaén kører max i mellem to distrikter på en tur, men den kører jo flere ture (bestillingsnr).
nej, en taxa køre et vist antal ture. På de ture kører han til og fra nogle distrikter. når man tager alle turene samlet skal den havde kørt igennem alle de distrikter der er i min distikter tabel (Dnavn).
This query selects all districts which each taxi has been in SELECT DISTINCT Bestilling.Vognnummer, Bestilling.Start_D_navn as district FROM Bestilling UNION SELECT DISTINCT Bestilling.Vognnummer, Bestilling.Slut_D_navn FROM Bestilling;
Til Terry. den sammenligner jo ikke med Dnavn fra distrikter, så den ved vel ikke om den har været i alle ditrikter. det er jo ikke alle taxa´er der har været i alle distrikter. jeg skal kun bruge dem der har været i ALLE.
OK! First make a query using the SQL I gave 12:23:45. Name the query "qryUniqueDistricts" Now make another query which compares the NUMBER of districts which each taxi has been in agains the total number of districs. IF they are the same then the taxi HAS been in all districts!
SELECT qryUniqueDistricts.Vognnummer, Count(qryUniqueDistricts.district) AS CountOfdistrict FROM qryUniqueDistricts GROUP BY qryUniqueDistricts.Vognnummer HAVING (((Count(qryUniqueDistricts.district))=DCount("Distrikter","Distrikter")));
To find out if a taxi has been in ALL disticts there is NO NEED to compare which districts a taxi has been in and if it is the same as the number of districts then IT MUST have been in them all!
I'll refrase that! To find out if a taxi has been in ALL disticts there is NO NEED to compare which districts a taxi has been in. If we can count how many different districts it has been in and it is the same as the number of districts then IT MUST have been in them all!
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.