19. november 2010 - 11:26Der er
6 kommentarer og 1 løsning
Find nyeste observation i query
Jeg har to tabeller som er linket sammen. Tabel 1 hedder tblProduct og indeholder en masse oplysninger om mine produkter og er opbygget med følgende felter:
ProductID ProductName
Tabel 2 hedder tblPrice og indeholder priserne på produkterne og er bygget op til at indeholde historik. Derfor har tabellen følgende felter:
Price_ID ProductID Year_Price (dato-felt) Price
ProdutID er linket sammen i en en-til-mange relation.
Nu vil jeg så gerne lave en query hvor jeg får alle produkter ud med den senest opdaterede pris. Jeg har søgt på google og i andre fora og har fundet ud af at man måske kan bruge funktionen DMAX - men jeg er simpelthen ikke god nok til queries til at kunne klare denne. Derfor må svaret også meget gerne være MEGET pædagosik forklaret... På forhånd mange tak for hjælpen
mozie, modtog du mit indlaeg? I saa fald er jeg spaendt paa din reaktion. Proevede du mit kode forslag? I saa fald hvordan gik det? Eller rendte du ind i problemer? I saa fald fortael.
Jeg oprettede dette som svar fordi jeg, indtil jeg hoerer det modsatte, mener at koden i mit indlaeg #1 loeser det stillede problem.
Jeg oversaa at spoergsmaalet var oprettet under kategorien Access. Access paalaegger flere restriktioner end standard SQL.
p1 og p2 er dovenskab (eller effektivitet) fordi jeg finder det nemmere at skrive p1.ProductID end tblProduct.ProductID. Fordi ProductID findes i to tabeller er man noedt til at fortaelle hvilken man bruger, saa jeg gav tabellerne kaldenavnene p1 og p2.
Jeg lavede en mini Access applikation (som jeg kan emaile hvis du vil) med dine to tabeller og lidt data i. Denne query:
SELECT p1.ProductID, ProductName, Price, Year_Price FROM tblProduct AS p1 INNER JOIN tblPrice AS p2 ON p1.ProductID = p2.ProductID WHERE Year_Price IN (SELECT MAX(Year_PRICE) FROM tblPrice GROUP BY ProductID)
gav dette resultat hvilket ifoelge dataerne i tabellen er den sidste pris for hvert produkt og datoen for denne pris.
Det var du ikke laenge om at afproeve (hvis det er #5 du mener.) Tak for points.
Synes godt om
Ny brugerNybegynder
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.