Avatar billede tipsen Nybegynder
13. marts 2006 - 12:05 Der er 4 kommentarer og
1 løsning

Hent nyeste adresse fra medlemsdatabase

Hej alle

Jeg har en medlemsdatabase som har følgende struktur:

CREATE TABLE `medlemmer_ny` (
  `medlemsid` int(10) unsigned NOT NULL auto_increment,
  `medlemsnr` varchar(20) NOT NULL default '',
  `navn` varchar(100) NOT NULL default '',
  `adresse` varchar(100) NOT NULL default '',
  `postnrby` varchar(100) NOT NULL default '',
  `ip` varchar(50) NOT NULL default '',
  `dato` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`medlemsid`)
) TYPE=MyISAM;

Hvert medlem er unikt identificeret udfra et medlemsnr, men der kan optræde flere adresser for det pågældende medlem og i det tilfælde er det posten med den nyeste dato som er interessant!

Jeg vil gerne have en forespørgsel, som kan give mig navn, adresse, postnrby hvor det for alle medlemmer skal være den nyeste adresse der bliver pillet ud af databasen!

Så vidt jeg kan gennemskue kan jeg lave det vha. sub-queries i MySQL 4.1+, men der er kun installeret MySQL 4.0.26 på serveren, hvor det skal køres!

Kan jeg lave det nemt vha. én forespørgsel eller skal jeg ud i en to-trins løsning evt. vha. PHP? Der behøver ikke lægges vægt på at det skal være en efficient forespørgsel, da den højest skal køres en gang om måneden!

På forhånd tak!

Mvh Tommy
Avatar billede jakobscafe Nybegynder
13. marts 2006 - 14:26 #1
Gad vide om:
select navn, adresse, postnrby from medlemmer_ny
group by max(dato);

virker?
Avatar billede jakobscafe Nybegynder
13. marts 2006 - 14:36 #2
Nej vent lidt:
select navn, adresse, postnrby, max(dato) from medlemmer_ny
group by medlemsnr;
Avatar billede tipsen Nybegynder
13. marts 2006 - 15:52 #3
Du kan ikke være sikker på at den query henter nyeste adresse - den henter én af medlemmets adresser, men ikke nødvendigvis den nyeste.
Avatar billede jakobscafe Nybegynder
13. marts 2006 - 19:44 #4
Næh - jeg testede ellers men var så 'heldig' at det så validt ud. I Oracle kan man godt vælge 'group by' og en aggregatfunktion (min første indskydelse). Men ikke her i MySql (4.0). Men det må da kunne løses... Tænke tænke...
Avatar billede tipsen Nybegynder
25. april 2008 - 11:58 #5
lukker
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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