Avatar billede runeevers Nybegynder
18. maj 2004 - 15:17 Der er 7 kommentarer og
1 løsning

Søgning i flere tables

Jeg har et opslag på en tabel i mysql udfra en forfærdeligt passe parametre. Resultaterne af dette opslag, skal udfra et timestamp, beklageligvis lokaliseret i en anden tabel, filtreres så kun poster der har et timestamp fra en specifik periode fremkommer.

How to?
Avatar billede Slettet bruger
18. maj 2004 - 15:19 #1
Kan du ikke bare lave to sql queries?
Avatar billede runeevers Nybegynder
18. maj 2004 - 15:22 #2
pacr00n > Jo det er der skam intet til hinder for. Kan du komme med et eksempel på hvordan laver en query der kun vælger de rækkeid som den første query returnerede? Kan ikke helt lure den.
Avatar billede Slettet bruger
18. maj 2004 - 15:31 #3
Jeg tænkte bare, at du først hentede data'en fra den første tabel.

Hvis du så smider det ud i f.eks. en while løkke, kan du jo så lave en query der søger på data'en med det bestemte timestamp, hver gang på en ny variabel.

Dette er dog nok lidt at skyde fluer med kanoner, da mySQL nok kunne klare det hele med én statement - dog er jeg ikke helt sikker på hvordan det gøres, ved nærmere eftertanke..
Avatar billede runeevers Nybegynder
18. maj 2004 - 15:40 #4
pacr00n > Ja det har du ret i. Ren løsning kunne jeg også godt gennemskue, men er sikker på at det vil blive noget humbug af dimensioner hvis hvis der bliver foretaget mange opslag af mange brugere. Virker grotesk at smide flere hundrede query afsted pr søgning.
Avatar billede runeevers Nybegynder
18. maj 2004 - 15:41 #5
Den* :p
Avatar billede sukos Juniormester
19. maj 2004 - 08:56 #6
Her er vist den omvendte løsning
http://www.eksperten.dk/spm/499781
Avatar billede runeevers Nybegynder
20. maj 2004 - 00:01 #7
Har lavet følgende lille finesse der laver en sql sætning jeg kan inkludere i query nr 2 udfra den første query:

$num = 0;
$querystart = "userid=";
while ($age = mysql_fetch_array($get_age)) {
  $agearray[$num] = "$querystart$age[userid]";
  num = $num+1;
}
$agequery = implode(" OR ", $agearray);

Den vedhæfter jeg så i slutningen af query'en, efter en vældigt masse etellerandet='noget' AND etellerandetandet='nogetandet', men problemet er at den første userid=$agearray[] afhænger af at det sidste "rigtige" parameter i queryen returnerer noget positivt. Hvordan isolerer jeg de hersens mange "userid=$agearray[0] OR userid=$agearray[1] OR use.. osv osv" så de ikke påvirkes af resten af resultatet?
Avatar billede runeevers Nybegynder
04. juli 2004 - 13:44 #8
.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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