01. december 2004 - 20:48Der er
11 kommentarer og 1 løsning
Hjælp til sql-streng
Hey ;)
har brug for lidt hjælp... er kørt fuldstændig fast, og jeg ved ikk hvordan jeg skal klare den her...
jeg har en tabel der hedder mailliste_modtagere, i den er der en kolonne der hedder nyhedsbrev_id og en der hedder maillist_id. nyhedsbrev_id er en der fortæller hvilket nyhedsbrev man arbejder på, og maillist_id fortæller hvilke maillister der er tilmeldt til nyhedsbrevet.
jeg har så en tabel der hedder mailliste_tilmeldte, og i den der er en kolonne der hedder user_id og en der hedder maillist_id. user_id fortæller om et user_id i tabellen user, og maillist_id fortæller hvilken mailliste brugeren er tilmeldt.
i tabellen user, er der en kolonne der hedder e-mail, hvor brugerens e-mail bliver gemt.
mit sprøgsmål er så. hvordan laver jeg en sql streng der sørger for kun og udvælge 1 user_id ud fra at de er tilmeldt maillist_id(i tabellen mailliste_tilmeldte), hvor at maillist_id samtidig også passer sammen med nyhedsbrev_id i tabellen mailliste_modtagere.
har du mulighed for at sende en tom database til mig, jeg er nemlig sikker på, at jeg laver mindst 100 fejl hvis jeg ikke har noget at støtte mig op af.
det nemmeste er faktisk, hvis du ændre alle felterne i din database som hedder noget med id til tal, altså ikke dem som bare hedder id, men eks maillist_id osv.
Så opretter du ovenstående relationer(funktioner - relationer), altså dem fra linket, så kan du faktisk finde det ønskede bare ved at køre SELECT user.id, mailliste_nyhedsbreve.id FROM user INNER JOIN mailliste_nyhedsbreve ON user.id = mailliste_nyhedsbreve.id;
du kan også få en sql uden relationer, så bliver den bare et par linier lang. Du skal nok også lige slette indholder i din database inden, da det ikke er alle poster som er gyldige.
hmm kan ikk få det til at virke.... når jeg prøver at lave en løkke der henter user id'er, er den bare tom. har lagt en ny database op, hvor der er sat et nyhedsbrev ind: http://upit.dk/u/exp_spm_567067_2.mdb
prøv følgende SELECT user.email, user.id, mailliste_tilmeldte.user_id, mailliste_tilmeldte.mailliste_id, mailliste.id, mailliste_modtagere.maillist_id, mailliste_modtagere.nyhedsbrev_id, mailliste_nyhedsbreve.id FROM mailliste_nyhedsbreve, mailliste_modtagere, mailliste, mailliste_tilmeldte, [user] WHERE mailliste_tilmeldte.user_id=user.id AND mailliste_tilmeldte.mailliste_id=mailliste.id AND mailliste_modtagere.maillist_id=mailliste.id AND mailliste_modtagere.nyhedsbrev_id=38;
kan stadigvæk ikke få det til at virke ;)... det er somom den udvælger alle de linjer der er i mailliste_modtagere, og ikke bare dem til nyhedsbrev_id = 23
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.