Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813

    [mysql] "convertire" righe in colonne

    ciao a tutti,
    devo spostare dei dati da un db ad un altro che gestisce lo stesso tipo di informazioni in modi differenti...
    sto spostando questi dati facendo una query un po' enorme. fin adesso non ho avuto grandi difficoltà.
    La "piccola" difficoltà è la seguente: io gestisco delle tariffe in base agli anni in questo modo

    codice tabella, anno, tariffa
    TAB1,1,5 euro
    TAB1,2,7 euro
    TAB1,3,9 euro

    dove TAB1 è il codice di un particolare tariffario che viene valorizzato in una altra tabella...

    l'altro sistema in cui devo spostare questi dati li gestisce in un altro modo
    codice_tabella, anno_1,anno_2,anno_3,...,anno_10
    TAB1,5 euro, 7 euro, 9 euro, etc....

    io potrei ovviare il problema facendo un po' di join sulla stessa tabella mettendo altrettanti condizioni su WHERE.

    ma esiste una maniera più efficiente per fare ciò?
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select codice_tabella,
    sum(if(anno=1,tariffa,0)) as anno_1,
    sum(if(anno=2,tariffa,0)) as anno_2,
    sum(if(anno=3,tariffa,0)) as anno_3
    from tabella
    group by codice_tabella

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 © 2024 vBulletin Solutions, Inc. All rights reserved.