Per Juniormester
08. februar 2017 - 10:53 Der er 16 kommentarer og
1 løsning

Filter i en Forespørgsel

Hej

Jeg er ny på "Eksperten", er 100% selvoplært i access og beklager på forhånd, hvis mit problem ikke er korrekt beskrevet.

Jeg har en forespørgsel, der ser i en tabel hvor jeg taster fragt priser. dvs at der er: Fra, Til, Pris og Dato. Hvis jeg får en ny pris, hvor fra og til er det samme, taster jeg igen og får en ekstra post med et andet ID

Jeg vil kun se den seneste.

Hvordan kan dette problem løses ?

På forhånd tak 

mvh
Per
dragnor Juniormester
08. februar 2017 - 14:37 #1
Du sikre dig det ved at bruge GROUP BY med Max på dit ID felt, som jeg antager er et fortløbende nummer?
dragnor Juniormester
08. februar 2017 - 14:40 #2
SELECT Max(t.ID) AS MaxOfID, t.Fra, t.Til, Last(t.Pris) AS LastOfPris, Last(t.Dato) AS LastOfDato
FROM t
GROUP BY t.Fra, t.Til;
Per Juniormester
08. februar 2017 - 14:58 #3
hej
mit Id felt er fortløbende
hvor sætter jeg ovenstående ind ?
dragnor Juniormester
08. februar 2017 - 15:49 #4
Kan jeg se din forespørgsel?
Per Juniormester
08. februar 2017 - 16:01 #5
Gerne - men hvordan ?
Per Juniormester
08. februar 2017 - 16:04 #6
SELECT Data.DataID, Data.Date, City.City, City.Country, City_1.City, City_1.Country, Data.PriceAllInclEUR, Forwarder.Forwarder, [Shipping Person].ShippingPerson, Data.PiceNote
FROM City AS City_1 INNER JOIN (City INNER JOIN ((Data INNER JOIN Forwarder ON Data.ForwarderID = Forwarder.ForwarderID) INNER JOIN [Shipping Person] ON Data.ShippingPersonID = [Shipping Person].ShippingPersonID) ON City.CityID = Data.LoadingCity) ON City_1.CityID = Data.DeliveryCity;
dragnor Juniormester
08. februar 2017 - 16:17 #7
Jeg antager at Data.DataID er dit ID felt :-)

Data.PiceNote må være din pris

Data.Date må være din dato som du henviste til?

Men hvad er "Fra" og "Til"  ???
terry Ekspert
08. februar 2017 - 16:30 #8
"Fra, Til, Pris og Dato. Hvis jeg får en ny pris, hvor fra og til er det samme"

Looking at the sql #6 I'm guessing that although fra and til might be the same, other fields will not. So GROUPing isn't going to work :-(

and as dragnor asks, "hvad er "Fra" og "Til"  ??? "
Per Juniormester
08. februar 2017 - 16:47 #9
City.City, City.Country = fra
City_1.City, City_1.Country = til
det er samme tabel, brugt  gange
terry Ekspert
08. februar 2017 - 17:54 #10
Any chance of getting a copy of the dB?
ekspertenATsanthell.dk
AT = @
Per Juniormester
08. februar 2017 - 18:06 #11
Hello Terry
its on the way
B.r.
Per
terry Ekspert
08. februar 2017 - 18:55 #12
;-)
terry Ekspert
08. februar 2017 - 19:21 #13
DataID    Date    City.City    City.Country    City_1.City    City_1.Country    PriceAllInclEUR    Forwarder    ShippingPerson    PiceNote
60    24/11/2016    Alba    Romania    Novi Sad    Serbia    850    Quattro-sped    Malene Messersmith   
102    27/01/2017    Alba    Romania    Novi Sad    Serbia    850    Zaliv    Bo Koch   
101    27/01/2017    Alba    Romania    Novi Sad    Serbia    900    Ralu    Bo Koch   

This is an extract of the SQL you gave #6 showing data for Alva to Novi Sad. Taking the price for newest (highest DataID = 102) the price is 850. So you only want too see data for 102, not other records for  Alva to Novi Sad?
terry Ekspert
08. februar 2017 - 19:31 #14
First make a query and give it a name, I've used qryGroupCity2City in example.
This query is only to find highest DataID.
SELECT Max(Data.DataID) AS MaxOfDataID, City.City, City.Country, City_1.City, City_1.Country
FROM City AS City_1 INNER JOIN (City INNER JOIN Data ON City.CityID = Data.LoadingCity) ON City_1.CityID = Data.DeliveryCity
GROUP BY City.City, City.Country, City_1.City, City_1.Country;

Now make a new query using this SQL to give you result

SELECT qryGroupCity2City.MaxOfDataID, qryGroupCity2City.City.City, qryGroupCity2City.City.Country, qryGroupCity2City.City_1.City, qryGroupCity2City.City_1.Country, Forwarder.Forwarder, [Shipping Person].ShippingPerson, Data.Date, Data.PriceAllInclEUR
FROM ((qryGroupCity2City INNER JOIN Data ON qryGroupCity2City.MaxOfDataID = Data.DataID) INNER JOIN Forwarder ON Data.ForwarderID = Forwarder.ForwarderID) INNER JOIN [Shipping Person] ON Data.ShippingPersonID = [Shipping Person].ShippingPersonID;
terry Ekspert
08. februar 2017 - 19:33 #15
And in the result query you dont really need MaxOfDataID  :-)
terry Ekspert
08. februar 2017 - 19:33 #16
It could all be done in one query but this is the easiest
terry Ekspert
08. februar 2017 - 20:22 #17
Thanks. I think I forgot to add field Data.PiceNote
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

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





Premium
Test: Kæmpestort gaming-headset er perfekt til dine lange Teams-møder - men har også nogle besværligheder
Længe før vi andre blev slået hjem til hjemmekontorets endeløse webmøder har gamerne gennemskuet behovet for komfortabelt grej. Så vi tog danske EPOS top gamingheadset med på arbejde. Læs testen her.
Computerworld
Biden sender skjult besked til kode-folket: "Hvis du læser dette, har vi brug for din hjælp”
En stående invitation er blevet opdaget i kildekoden på Det Hvide Hus' hjemmeside. Men den er kun til de eksperter, der selv kan finde den.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
White paper
Optimér produktiviteten og lad din printer følge med ud i skyen
De fleste virksomheder investerer betydelige beløb i den digitale transformationsproces, men skriver alligevel dokumenter ud som aldrig før, og medarbejdere opfatter decideret print som en forudsætning for at kunne arbejde effektivt. Alligevel er virksomhedens printstruktur ofte et systemmæssigt stedbarn, der er sammenstykket af mange forskellige enheder og platforme – hvilket skaber forvirring og betydeligt tidsspilde. Print passer heller helt ind i hverken den eksisterende digitale infrastruktur eller i den cloudbaserede infrastruktur, virksomheden sigter mod. Det udfordrer både sikkerhed, produktivitet og digital strategi som hele. I denne hvidbog kan du læse om udfordringerne og om, hvordan du håndterer dem mest effektivt som et led i den digitale transformationsproces.