Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [mysql] union con aggiunta di colonne

    ciao, posso fare una union dove invece che aggiungere righe aggiungo colonne?

    Esempio:

    codice:
    SELECT 1 AS pippo
    UNION SELECT 2 AS pluto
    mi ritorna
    pippo
    1
    2

    io invece vorrei:
    codice:
    pippo | pluto
    1         2
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Quello ke ti serve è un join!

  3. #3
    eh... temo che la cosa non sia risolvibile con un join.

    questo perchè il mio esempio semplificava un po la cosa, ma la mia necessità è questa:

    ho una tabella con una struttura del tipo:

    id_prodotto | operazione | quantità
    (4,CARICO,3)
    (3,CARICO,3)
    (2,CARICO,3)
    (4,SCARICO,1)

    vorrei fare una query che mi dia in output la giacenza di ogni prodotto, quindi

    id_prodotto x | sum(quantita dove id_prodotto=x e opoerazione='CARICO') - sum(quantita dove id_prodotto=x e opoerazione='SCARICO')

    il problema è che la sum non può contenere condizioni.
    l'unico sistema che io conosco è quello di fare una vista con tutti i carichi, una con tutti gli scarichi, e poi una join che fa la differenza.

    Per diversi motivi però, vorrei fare tutto in un unica query.

    E' possibile?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    Per come hai strutturato il DB devi fare come tu hai detto, cioé con le viste.

    Nn potresti utilizzare un'altra tabella in cui tieni solo l'id del prodotto (chiave primaria) e la giacenza?
    Lo so ke dal punto di vista della progettazione dei dati nn è il massimo, però così guadagni un sacco in termini di efficienza per quello ke devi fare.

  5. #5
    ovviamente no!

    ;-)

    cmq non sarebbe necessaria una tabella, con 3 viste si può fare tutto, il problema è che io volevo fare tutto in una query...
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  6. #6
    Lo so ke con 3 viste si può fare tutto, però man mano ke la tabella in questione cresce diventa sempre + pesante l'uso di viste. Cmq. mi dispiace nn esserti stato di aiuto.

    Ciao.

  7. #7
    il fatto è che la tabella che dici te dovrebbe poi essere aggiornata a manina ad ogni update sulla tabella...

    e questo per vari motivi non va bene a quello che mi serve

    Grazie comunque però!
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  8. #8
    Il problema è solo inizializzarla con i valori ke sono già presenti nella tabella dove hai i vari prodotti con le quantità di carico e scarico.

    In questo caso basta utilizzare lo stesso codice ke tu usi adesso per avere di ogni prodotto la giacenza e tale risultato lo inserisci pari pari nella tabella ke ti dicevo.

    Dopodiché liddove tu inserisci una nuova riga alla tua tabella in cui vi sono Carico e Scarico, dovresti solo aggiungere qualche riga di codice per aggiornare la tabella con le giacenze.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Originariamente inviato da gianf_tarantino
    Il problema è solo inizializzarla con i valori ke sono già presenti nella tabella dove hai i vari prodotti con le quantità di carico e scarico.

    In questo caso basta utilizzare lo stesso codice ke tu usi adesso per avere di ogni prodotto la giacenza e tale risultato lo inserisci pari pari nella tabella ke ti dicevo.

    Dopodiché liddove tu inserisci una nuova riga alla tua tabella in cui vi sono Carico e Scarico, dovresti solo aggiungere qualche riga di codice per aggiornare la tabella con le giacenze.
    Concordo
    Sinceramente sarebbe il modo corretto di lavorare a dirla proprio tutta

    Quelle tre righette di codice che risparmi qua e la per non mettere una tabella in più (che formalmente andrebbe creata) le paghi con gli interessi e i contro interessi in momenti come questi

  10. #10
    ufffiiii

    lo ho capito!

    il fatto è che questa cosa mi serve perchè a monte c'è un sistema di reportistica in xml che deve funzionare senza modificare la struttura del database!

    E siccome la query va definita nel report xml ho la necessità di fare tutto in una query!

    lo ho capito che "potrebbe" essere la soluzione ideale, ma io ho un vincolo, che è quello di non dover modificare la struttura del database!

    ringrazio comunque tutti quelli che sono intervenuti, ma de vi dico che non posso modificare il db è perchè non posso! non perchè non mi va....

    grazie comunque
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.