Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Oracle] Moltiplicare un valore di una colonna per una colonna intera

    Salve,

    ho una tabella in cui vi sono tre colonne.

    le prime due hanno circa 170.000 valori, la terza ne ha 2.
    Ciò che devo fare è moltiplicare il primo valore della terza colonna per la prima colonna (ovvero per tutti i valori della prima colonna) e il secondo valore della terza colonna per la seconda colonna (ovvero per tutti i valori della seconda colonna).

    Es:
    col_1
    35
    13
    ...

    col_2
    45
    23
    ...

    col_3
    0.2
    0.8

    devo fare:

    0.2*col_1

    e

    0.8*col_2

    secondo voi si può fare? se il codice è lungo potresti dirmi almeno come è il concetto?
    O per fare questo la terza colonna e le altre due devono stare in tabelle separate?

    grazie mille a tutti
    My website: .....:::{[( www.oltrecalcio.com )]}:::.....
    My works: .....:::{[( win.oltrecalcio.com/lavori )]}:::.....

    "PALLA TAGLIATA...MESSA FUORI...C'è PIRLO PIRLO...ANCORA PIRLO...DI TACCO...TIRO... GOOOOOOOOOOOOOOOOOL GRROSOOO GRROSOOO GRROSSOOO GOL DI GROSSOOOOOOOO..."

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non si capisce che senso abbia quella 3 colonna con due soli valori.
    Se devi semplicemente aggiornare i valori delle prime due colonne ti basta fare:

    update tabella set col_1 = col_1 * 0.2

    e

    update tabella set col_2 = col_2 * 0.8


    P.S. Documentati un minimo perchè usare oracle senza conoscere le nozioni basilari di sql non ha molto senso.

  3. #3
    Sì, grazie...sto proprio leggendo documentazione a riguardo.

    in pratica la terza colonna contiene due valori di cui il primo deve pesare la prima colonna e il secondo deve pesare la seconda colonna.

    Mi trovo con la tua espressione, tuttavia ho il problema che per ora le colonne sono due (e quindi i valori della terza colonna sono due), ma a regime avrò tot. colonne e quindi tot. valori nella terza colonna (nella terza colonna ci sono tanti valori quante sono le colonne da "pesare")

    Cercavo un modo per fare questo "pesatura" non usando valori numerici manualmente.

    spero di essermi riuscito a spiegare...


    grazie mille.
    My website: .....:::{[( www.oltrecalcio.com )]}:::.....
    My works: .....:::{[( win.oltrecalcio.com/lavori )]}:::.....

    "PALLA TAGLIATA...MESSA FUORI...C'è PIRLO PIRLO...ANCORA PIRLO...DI TACCO...TIRO... GOOOOOOOOOOOOOOOOOL GRROSOOO GRROSOOO GRROSSOOO GOL DI GROSSOOOOOOOO..."

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non è per niente chiaro lo scopo che vuoi raggiungere. Sicuramente usare una colonna in cui mettere tot valori in base al numero di colonne non mi pare una grande idea.

  5. #5
    allora...lo scopo è questo:

    date le colonne col_1 e col_2, voglio fare una colonna col_3 che contiene la media dei valori contenuti nelle prime due. per intenderci, l'i-esimo valore di col_3 è:

    col_3[i] = (col_1[i] + col_2[i])/2

    Quello che chiedevo io è come fare per pesare gli i-esimi valori di col_1 e col_2 con un certo coefficiente; ovvero, l'espressione di prima diventa:

    col_3[i] = (b1*col_1[i] + b2*col_2[i])/2

    dove col_3, col_2 e col_1 hanno tutti lo stesso numero di righe, mentre b1 e b2 volevo metterli in una colonna a parte (quella che nel topic ho chiamato "terza colonna").

    Quindi il nocciolo del problema è come creare l'espressione precedente...
    My website: .....:::{[( www.oltrecalcio.com )]}:::.....
    My works: .....:::{[( win.oltrecalcio.com/lavori )]}:::.....

    "PALLA TAGLIATA...MESSA FUORI...C'è PIRLO PIRLO...ANCORA PIRLO...DI TACCO...TIRO... GOOOOOOOOOOOOOOOOOL GRROSOOO GRROSOOO GRROSSOOO GOL DI GROSSOOOOOOOO..."

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.