SQL Join
HejJeg har tidligere oprettet et spørgsmål, men da jeg ikke fik noget ordentligt svar (pga. min egen uklarhed) prøver jeg igen.
Jeg har 2 tabeller. En tabel med artikler, og en med log over opdatering til disse artikler. Hedder Articles og ArticleUpdates.
Hver gang en der bliver opdateret en artikel, bliver der oprettet et nyt row i ArticleUpdates, som fortæller hvornår opdateringen er udført, og hvornår den udløber.
Jeg vil gerne lave en raport, baseret på disse 2 tabeller:
Jeg vil have den seneste opdaterings dato (EditedDate) for hver artikkel (ArticleID->Articles.ID). Men jeg vil spørge på ting som findes i Articles, og ting i ArticleUpdates. F.eks. vil jeg kunne lave en raport, som viser artikeler der udløber efter en bestemt dato. (OldestArticleDate).
Som sagt, så er det KUN interessandt og se de seneste informationer for en artikel. Dvs. kun se den nyeste opdatering, men samtidig have mulighed for at spørge på andre ting.
SOm sagt har jeg før oprettet et spørgsmål her, og da kom vi frem til følgende kode, som så ikke virker helt:
SELECT Articles.ID, ArticleUpdates.OldestArticleDate, Max(ArticleUpdates.EditedDate) AS EditDate FROM Articles INNER JOIN ArticleUpdates ON Articles.ID=ArticleUpdates.ArticleID WHERE Articles.Department=90 AND ArticleUpdates.OldestArticleDate < '2002-12-11' GROUP BY Articles.ID ORDER BY ArticleUpdates.EditedDate DESC;
Koden skal være kompatibel med måde Access og MySQL.
Håber meget på hjælp, er ved at få lange nosser af det her...
