Avatar billede MartinBonde Nybegynder
04. juni 2009 - 20:49 Der er 6 kommentarer og
1 løsning

Udtræk fra forskellige tabeller med betingelser

Jeg har brug for at få et udtræk fra 5 forskellige tabeller (alle fra samme DB).

Tabellerne hedder:
doc_usertable
tod_usertable
ppy_usertable
dtw_usertable
dywq_usertable

I alle tabeller er der en række der hedder "lastlogin" (datetime format som selvfølgelig opdateres ved login)... Jeg skal bruge en forespørgsel som viser tabellens navn hvis der ikke er en bruger der har været logget ind i 14 dage!

Jeg havde tænkt noget ala
SELECT `doc_usertable`.`last_action` FROM doc_usertable WHERE (
`doc_usertable`.`last_action` - NOW( ) <14)

Men kan ikke få det til at virke.... Nogen forslag??
Avatar billede arne_v Ekspert
04. juni 2009 - 20:58 #1
proev noget a la:

SELECT 'xxx_usertable'
WHERE NOT EXISTS (SELECT * FROM xxx_usertable WHERE DATEDIFF(lastfelt, NOW()) < -14)
Avatar billede MartinBonde Nybegynder
18. juli 2009 - 17:22 #2
Sorry havde selvfølgelig helt glemt mit spørgsmål :-/

Ja arne_v det virker jo som sådan godt nok, men skal bruge det for alle tabellerne, sådan for at jeg får en liste over alle de brugere der ikke har været logget ind i 14 dage (var nok ikke helt klart nok i spørgsmålet).
Avatar billede arne_v Ekspert
18. juli 2009 - 17:28 #3
5 x SELECT med UNION imellem
Avatar billede MartinBonde Nybegynder
18. juli 2009 - 17:52 #4
Ja det er selvfølgelig en løsning... Men antallet af tabeller bliver hele tiden større og større, så findes der ikke en smartere måde at hente disse data på?
Avatar billede arne_v Ekspert
18. juli 2009 - 17:58 #5
Tror jeg ikke.

Problemet er din tabel strutur.

Du skulle have haft en enkelttabel med et type felt med værdier doc, tod, ....

Du kan naturlig finde alle tabeller som ender på _usertable og dynamisk konstruere en SQL udfra dette.
Avatar billede MartinBonde Nybegynder
18. juli 2009 - 18:10 #6
Ja ved godt det ikke er voldsomt hensigtmæssigt med den struktur, men den var logisk da det startede ;-)

Tror løsningen bliver at jeg laver et script der finder alle _usertables...

Tak for hjælpen, hvis du ligger et svar sender jeg points...
Avatar billede arne_v Ekspert
18. juli 2009 - 18:17 #7
ok
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