16. september 2007 - 21:38Der er
8 kommentarer og 1 løsning
Hent fra tabel, hvis ikke opført i anden tabel
Jeg skal bruge en lille udtræk, der, som udgangspunkt skal hente alle poster fra tabellen "medarbejdere", dog ikke hvis der findes en post i tabellen "projekter_medarbejdere" hvor ref_projekt = Request.Querystring("id") og ref_medarb = (id fra tabellen medarbejdere)
Jeg har prøvet med følgende, men det driller lidt
strSQL = "SELECT * FROM medarbejdere WHERE slettet = FALSE AND Exists(select * from projekter_medarbejdere where projekter_medarbejdere.ref_projekt = " & Request.QueryString("id") & " and projekter_medarbejdere.ref_medarb<>medarbejdere.id) order by navn asc "
strSQL = "SELECT * FROM medarbejdere WHERE slettet = FALSE AND medarbejdere.id NOT IN (SELECT id FROM projekter_medarbejdere WHERE projekter_medarbejdere.ref_projekt = " & Request.QueryString("id") & " AND projekter_medarbejdere.ref_medarb=medarbejdere.id) order by navn asc "
strSQL = "SELECT * FROM medarbejdere LEFT OUTER JOIN projekter_medarbejdere ON projekter_medarbejdere.ref_medarb = medarbejdere.id AND projekter_medarbejdere.ref_projekt = " & Request.QueryString("id") & " WHERE medarbejdere.slettet = FALSE AND projekter_medarbejdere.id IS NULL"
Den lister forsat alle fra tabellen "medarbejdere", selvom de findes i projekter_medarbejdere - Så længe jeg så kun tilføjer dem der ikke er på listen i forvejen, er det ok, men tilføjer jeg en af dem der allerede er på listen, kommer navene til at stå dobbelt
strSQL = "SELECT * FROM medarbejdere medarbejdere.slettet = FALSE AND NOT EXISTS (SELECT id FROM projekter_medarbejdere WHERE projekter_medarbejdere.ref_medarb = medarbejdere.id AND projekter_medarbejdere.ref_projekt = " & Request.QueryString("id") & ")"
Hvis der kommer dobbelte medarbejdere ud, så skal du bare bruge GROUP BY:
SELECT felt1, felt2 FROM ..... WHERE ..... GROUP BY felt1, felt2
ladnielsen... Dit nye forslag er lige efter bogen ;-) det virker bare som det skal... Der mangler godt nok lige "where" mellem "medarbejdere" og "medarbejdere.slettet" men ellers som det skal
Jeg fandt ud af det er mig der havde lavet noget fuck up der gjorde at nogle blev gentaget 2 gange, men dit udtræk fjerner ikke medarbejderne fra listen, selvom de findes i medarbejdere_projekt.
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.