Jag har två tabeler i en Access-databas och skulle vilja loopa ut dom tillsammans.
Tabel Anv
AnvNamn
AnvDatum
Tabel AnvIP
AnvIPID
AnvNamn
AnvIPnummer
Det jag vill göra är att under varje "loop" skriva ut innehållet i tabelen Anv och sedan kollar om det finns minst ett fält i AnvNamn i tabelen AnvIP som innehåller samma text som i tabelen Anv.
Om det finns mer så ska endast det nyaste tas fram via AnvIPID (räknare).
Har sökt och hittat join, som verkar vara det jag är ute efter. Men hur ska SQL-frågan se ut?
1. Jag skulle råda dig till att inte använda kolumnen som innehåller användarens namn som den kolumn som refererar till din relationstabell. Det är bättre om du använder ett ID, då blir inte databasen inkorrekt om en användare byter namn.
2. Varför har du en egen tabell för IP? Enda egentliga anledningen för detta är ju ifall en användare har mer än ett IP-nummer. Om det inte är så, alltså att varje användare inte kan ha mer än ett IP-nummer, så rekommenderar jag att du skapar en kolumn som heter t.ex. IPnr i tabellen Anv och tar bort den andra tabellen då den är helt onödig.
2: Den andra tabellen innheåller förutom IP adressen även vilken tid användaren loggade in. Eftersom jag vill kunna se lite statistik vilka användare som är aktivast så använder jag en separat tabell för detta.
2: Den andra tabellen innheåller förutom IP adressen även vilken tid användaren loggade in. Eftersom jag vill kunna se lite statistik vilka användare som är aktivast så använder jag en separat tabell för detta.
Men saken är den, att om du inte behöver mer än en rad per användare, så är din andra relationstabell helt onödig. Du kan fortfarande dra den data du vill från tabellen Anv utan problem.
Du kan ju skapa inte bara en, utan även två nya kolumner i tabellen Anv, så har du löst ditt problem. Då slipper du även använda JOIN eller ett WHERE-statement, som kräver en del prestanda om du drar stora mängder som t.ex. statistik.
Ja det har du faktiskt rätt i. Fast att dom är separata används till fördel av en annan funktion. Men jag ska fundera och överväga det hela. Tack för hjälpen och insikten. :)
510 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849