Originariamente inviato da peppeocchi
Ciao a tutti, ho un piccolo problema con una query, su phpmyadmin funziona, quando poi la implemento nel codice php invece non dà alcun risultato.
la query è questa:
Codice PHP:
SELECT SUM(".$server."_x_world1.pop) AS d0, SUM(".$server."_x_world2.pop) AS d1, SUM(".$server."_x_world3.pop) AS d2, SUM(".$server."_x_world4.pop) AS d3
FROM ".$server."_x_world1, ".$server."_x_world2, ".$server."_x_world3, ".$server."_x_world4
WHERE ".$server."_x_world1.idUser=".$arFilter['idUser']."
AND ".$server."_x_world1.id=".$server."_x_world2.id
AND ".$server."_x_world1.id=".$server."_x_world3.id
AND ".$server."_x_world1.id=".$server."_x_world4.id
GROUP BY ".$server."_x_world1.idUser
In poche parole somma il campo "pop" da 4 tabelle con lo stesso "idUser"
la query funzionante su phpmyadmin è questa
codice:
SELECT ts5it_x_world1.nameUser, SUM(ts5it_x_world1.pop) AS d0, SUM(ts5it_x_world2.pop) AS d1, SUM(ts5it_x_world3.pop) AS d2, SUM(ts5it_x_world4.pop) AS d3
FROM ts5it_x_world1, ts5it_x_world2, ts5it_x_world3, ts5it_x_world4
WHERE ts5it_x_world1.id=ts5it_x_world2.id
AND ts5it_x_world1.id=ts5it_x_world3.id
AND ts5it_x_world1.id=ts5it_x_world4.id
GROUP BY ts5it_x_world1.nameUser
che stampa tutti i risultati, se voglio filtrare un solo idUser:
codice:
SELECT ts5it_x_world1.nameUser, SUM(ts5it_x_world1.pop) AS d0, SUM(ts5it_x_world2.pop) AS d1, SUM(ts5it_x_world3.pop) AS d2, SUM(ts5it_x_world4.pop) AS d3
FROM ts5it_x_world1, ts5it_x_world2, ts5it_x_world3, ts5it_x_world4
WHERE ts5it_x_world.idUser=28
AND ts5it_x_world1.id=ts5it_x_world2.id
AND ts5it_x_world1.id=ts5it_x_world3.id
AND ts5it_x_world1.id=ts5it_x_world4.id
GROUP BY ts5it_x_world1.nameUser
che mi restituisce esattamente quello che cerco.
non capisco perchè non funziona nel codice php....
Il risultato che voglio ottenere è la selezione di tutti i record nelle 4 tabelle la cui somma del campo "pop" sia compresa in un certo valore fornito dall'utente
Esempio
codice:
idUser tab1.pop tab2.pop tab3.pop tab4.pop
19 45 43 43 43
25 103 95 90 85
19 87 87 87 87
se imposto un massimo di variazione di 10, in output devo avere solo l'idUser 19. Posso fare questo con una sola query?