Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    2

    [Postgres] creare campi calcolati

    Buongiorno a tutti!
    premetto che non sono molto abile con SQL...
    Utilizzo Postgres con PgadminIII ed avrei bisogno di creare un campo che restituisca il risultato di questa formula:

    (campo1+5%)*60

    Qualcuno può aiutarmi a tirar fuori lo script corretto?
    Grazie in anticipo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    2
    risolto.

    update table1 set campo2 = ((campo1+(campo11*0.05))*60);

  3. #3
    Quote Originariamente inviata da jakdani Visualizza il messaggio
    risolto.

    update table1 set campo2 = ((campo1+(campo11*0.05))*60);
    Per pignoleria.. e ottimizzazione del fottilionesimo di secondo..
    update table1 set campo2 = ((campo1*1.05))*60);

    ma dato che x *1,05*60 = x+(1,05*60) = x*63
    quindi:
    update table1 set campo2 = (campo1*63);

    P.s. Questa query richiede meno memoria per il calcolo.

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da jakdani Visualizza il messaggio
    risolto.
    update table1 set campo2 = ((campo1+(campo11*0.05))*60);
    Scusatemi se ci metto il mio beccaccio quando ormai sembra tutto risolto.

    Concordo pienamente con W Tunderbird, ma aggiungerei dell'altro ........

    a cosa serve una tabella dove nel Campo1 c'e scritto 100
    e nel Campo2 c'e scritto pedestremente 6.300 ??? ( 100 x 63)

    questo è il classicissimo esempio di dato rindondante che non serve assolutamente a nulla.

    anzi mi correggo serve a:
    - Impiegare intilmente la CPU per gli Update
    - Impiegare memoria dell' HD per conservare i dati
    - Incasinare la applicazione per fare eseguire gli UPDATE
    - mettere in difficolta il softerista quando qualcuno riesce a modificare un dato eludendo il UPDATE e ti ritrovi un record con 100 e 6.570



    prova a pensare a una piu banale e sicura select:
    codice:
    SELECT 
    campo1,
    campo1 * 63 AS campo2,
    FROM
    table1

    .
    Ultima modifica di nman; 07-08-2014 a 12:47

Tag per questa discussione

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.