Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [MySQL] - Consiglio su creazione Query

    Ciao a tutti!
    Mi son arenata nella scrittura di una SELECT che mi sta facendo impazzire e vorrei chiedere consiglio a voi su come muovermi!

    Vi spiego la situazione:

    Sto sviluppando un software che gestirà le scadenze provvigionali.
    Ogni provvigione ha la sua data di liquidazione.
    Sin qui non ho trovato problemi....il problema nasce quando vado a gestire le provvigioni delle quali è stata saltata la liquidazione (per un motivo o per un altro) e che dovrebbero slittare di mese in mese sinchè non vengono liquidate!


    Ho dato questa struttura alla tabella:
    id; INT
    dataStipendioPrevisto; Date
    numContratto; INT
    dataIncasso; Date
    dataLiquidazione; Date (quando non è stata liquidata rimane settato su NULL)


    Le provvigioni sono riferite a dei contratti dove il cliente versa mensilmente una cifra. Il datore di lavoro liquida la provvigione il mese dopo il versamento del cliente.

    ES:
    • cliente versa nel suo fondo il 03/10/2015
    • il datore di lavoro liquida il 30/11/2015 la provvigione


    siccome può capitare che il cliente non versi ma versi dopo slitta anche la provvigione....

    Io ho necessità di visualizzare le provvigioni di competenza di un dato mese dell'anno e mi sto incartando sul fattore: "liquidate/non liquidate"

    avete qualche consiglio su come andrebbe scritta la SELECT?

  2. #2
    dataIncasso è la data reale o la data prevista?

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Allora...ho rivisto un po la struttura della tabella!

    (vorrei sottolineare che sto creando il DB quindi son aperta a ogni modifica anche della tabella e non solo della SELECT)

    id: INT
    numContratto:INT
    dataRata: DATE (Data Prevista del Versamento del cliente)
    dataIncasso: DATE (Data Effettiva del Versamento del cliente)
    dataLiquidazione: DATE (Data Effettiva della Liquidazione della provvigione al dipendente)





  4. #4
    se vuoi calcolare la data prevista di liquidazione puoi fare

    select dataincasso+30gg (sistema questo calcolo) from tabella where dataliquidazione is null

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Allora...ho rivisto un po la struttura della tabella!

    (vorrei sottolineare che sto creando il DB quindi son aperta a ogni modifica anche della tabella e non solo della SELECT)

    id: INT
    numContratto:INT
    dataRata: DATE (Data Prevista del Versamento del cliente)
    dataIncasso: DATE (Data Effettiva del Versamento del cliente)
    dataLiquidazione: DATE (Data Effettiva della Liquidazione della provvigione al dipendente)


    L'idea è di selezionare per gli stipendi futuri le provvigioni in base alla dataRata
    Es:

    Se prevedo che il cliente verserà il 14/11/2015 su quella previsione metterò la provvigione nello stipendio del 31/12/2015

    Il problema nasce sempre quando qualcosa slitta....

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    117
    Ciao a tutti
    Secondo me aggiungere colonne e prevedere la necessità di UPDATE potrebbe complicare la gestione ed aumentare il rischio di errori nei dati (registrati ed estratti).
    Io credo che la struttura della tabella possa andare già bene come nel precedente post:
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    id: INT
    numContratto:INT
    dataRata: DATE (Data Prevista del Versamento del cliente)
    dataIncasso: DATE (Data Effettiva del Versamento del cliente)
    dataLiquidazione: DATE (Data Effettiva della Liquidazione della provvigione al dipendente)
    Ora, se
    L'idea è di selezionare per gli stipendi futuri le provvigioni in base alla dataRata
    considerato che

    Se prevedo che il cliente verserà il 14/11/2015 su quella previsione metterò la provvigione nello stipendio del 31/12/2015
    Quindi
    quando qualcosa slitta
    potresti usare un OR nel WHERE ed includere tutti i record per i quali dataIncasso non risulta ancora valorizzata ponendoli tutti come aspettativa alla fine del mese prossimo, ad esempio usando:
    codice:
    LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 1 MONTH))
    Ma si potrebbe anche pensare ad un IF.

    In ogni caso credo che dovresti postare una bozza della select sulla quale stai lavorando così abbiamo un punto di partenza concreto.


  7. #7
    devi allora pensare a una nuova colonna DataLiquidazionePrevista

  8. #8
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    e come gestisco la SELECT?
    Sto scervellandomi...

  9. #9
    hai modificato la struttura della tabella? se sì, com'è?

  10. #10
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    ES:

    RATA: 04/11/2015 (la data prevista in cui il cliente dovrà versare)
    DATA INCASSO: 06/01/2016 (Data in cui ha effettivamente versato)
    DATA LIQ PREVISTA: 29/02/2016 (Quando dovrà essere liquidata)
    DATA LIQ: NULL

    In questo caso il cliente doveva versare a Novembre 2015 ma versa a Gennaio 2016 quindi la provvigione al dipendente verrà liquidata il 29/02/2016 io vorrei quindi che venisse vista nello stipendio di febbraio...
    Poniamo il caso però che non venga liquidata a febbraio (per motivi vari) dovrebbe darmela a marzo, e poi dopo marzo ad aprile ecc ecc

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