Gå til innhold

Anbefalte innlegg

Har et prosjekt gående for å logge alle innlogginger som gjøres på dataparken min. Jeg har fått stappa all dataen inn i SQL, men skal gjerne begynne å bygge ut systemet mitt, bl.a. med å vite hvilke skoler/avdelinger de forskjellige maskinene tilhører. Siden jeg har ca. 6000 innlogginger i uka, så blir det for tungt å gjøre i PHP.

 

 

Her er et lite utdrag av databasen min:

 

CREATE TABLE `loginlog` (
 `ID` int(11) NOT NULL auto_increment,
 `username` varchar(11) default '',
 `hostname` varchar(25) default '',
 `unixtime` int(25) default '0',
 `clientname` varchar(25) default '',
 `addtime` int(25) default '0',
 PRIMARY KEY  (`ID`)
) TYPE=MyISAM


CREATE TABLE `klienter` (
 `ID` int(11) NOT NULL auto_increment,
 `gruppe` int(11) default '1',
 `navn` varchar(25) default NULL,
 `type` smallint(1) default '0',
 PRIMARY KEY  (`ID`)
) TYPE=MyISAM

 

Det jeg da vil, er å ha en SELECT DISTINCT clientname FROM loginlog, hvor den ikke eksisterer i klienter.

 

 

Veit det egentlig er en ganske enkel kommando, bare husker ikke noen av de måtene jeg kunne gjøre det på....

Lenke til kommentar
Videoannonse
Annonse
SELECT DISTINCT clientname FROM loginlog
WHERE clientname NOT IN(
   SELECT navn FROM klienter
);

 

Kommer vel litt an på hvilken dbms du bruker, men jeg mener at den der ihvertfall skal fungere i oracle.

5487472[/snapback]

Det kan være verdt å merke seg at følgende spørring sannsynligvis vil være mer effektiv:

 

SELECT DISTINCT loginlog.clientname FROM loginlog inner join klienter on (loginlog.clientname = klienter.navn)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...