Joomla.it Forum

Non solo Joomla... => Sviluppo => : Razzo 14 Oct 2013, 16:12:28

: query con UNION
: Razzo 14 Oct 2013, 16:12:28
So scrivendo il mio primo codice da 0 per Joomla.
devo inerrogare una tabella del DB per tirare fuori dei valori precedentemente salvati
Ho guardato http://docs.joomla.org/Selecting_data_using_JDatabase e sono riuscito a realizzare la maggior parte delle letture che mi servono, ma ora ne ho una che non so come fare (Usondo la UNION ALL).

Il risultato deve essere:
:
SELECT AVG(spesa) AS puntata_media FROM(
    SELECT 1giocatore_spesa AS spesa FROM #_partite WHERE 1giocatore_personaggio = '1'
    UNION ALL
    SELECT 2giocatore_spesa AS spesa FROM #_partite WHERE 2giocatore_personaggio = '1'
    UNION ALL
    SELECT 3giocatore_spesa AS spesa FROM #_partite WHERE 3giocatore_personaggio = '1'
    UNION ALL
    SELECT 3giocatore_spesa AS spesa FROM #_partite WHERE 3giocatore_personaggio = '1'
    UNION ALL
    SELECT 4giocatore_spesa AS spesa FROM #_partite WHERE 4giocatore_personaggio = '1'
    UNION ALL
    SELECT 5giocatore_spesa AS spesa FROM #_partite WHERE 5giocatore_personaggio = '1'
    UNION ALL
    SELECT 6giocatore_spesa AS spesa FROM #_partite WHERE 6giocatore_personaggio = '1'
    UNION ALL
    SELECT 7giocatore_spesa AS spesa FROM #_partite WHERE 7giocatore_personaggio = '1'
    UNION ALL
    SELECT 8giocatore_spesa AS spesa FROM #_partite WHERE 8giocatore_personaggio = '1') AS tmp

'1' sarà un parametro che cambia di volta in volta.

Grazie :)
: Re:query con UNION
: giovi 14 Nov 2013, 12:48:11
ciao, la query puoi costruirtela anche tu senza dover necessariamente ricorrere a tutti i metodi della classe. usa solo il setquery così:
:
<?php $db->setQuery("SELECT blablabla WHERE pipipi =".$tuoParam."AND glugluglu =".$altroParam); ?>
: Re:query con UNION
: mmleoni 14 Nov 2013, 16:01:18
ciao,
è un po' difficile capire che vuoi fare senza conoscere il data dictionary della tabella e che tu ci voglia fare.

domanda: non mi pare che i nomi dei campi possano iniziare con un numero, non dovresti almeno usare il backtick per quotarli (termine osceno ;) )

un'altra cosa è più seria: da ciò che vedo tu hai nella tabella i campi [n]giocatore_spesa e [n]giocatore_personaggio, con n che va, almeno, da 1 a 8.

giusto? spero di no, se no hai sbagliato il disegno della tabella: i vettori si esprimono in colonne non in righe.

questo è uno dei motivi per cui poi non ti viene la query che vuoi.

ciao,
marco