+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Query su tabelle con valori con validità variabili

  1. #1
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Luogo
    Milano
    Post
    672

    Query su tabelle con valori con validità variabili

    Buongiorno a tutti,
    ho provato a cercare sia nel web che sul forum, ma, come potrete notare dal titolo che ho dato, non riesco a trovare una chiave di ricerca VALIDA per il mio problema.

    Ho due tabelle:
    - una che contiene una serie di record con numero Cliente, data inserimento e altre info;
    - l'altra ha l'elenco di tutti i miei clienti ed un codice che serve per riclassificare i dati, il problema che ho è che il codice non è univoco.

    O meglio è univoco da una certa data in poi.

    Traduco:

    Tabella 1
    codice:
    Cliente        datainserimento                  
                 1               17/07/2018
                 1               15/10/2019
    Tabella 2
    codice:
    Cliente        codice      DataInizioValidità       DataFineValidità
                 1             50                01/01/1900           30/09/2019
                 1             54                01/10/2019           31/12/9999
    Io vorrei che il risultato sia:

    codice:
    Cliente        datainserimento                  codice
                 1              17/07/2018                       50
                 1              15/10/2019                       51
    ma non riesco a capire come fare a impostare la query di selezione.

    Spero di essere stato chiaro.

    ringrazio tutti per eventuali suggerimenti

    ciaooo
    Ciao

    Andrea

    Spero di esserti stato di aiuto.

  2. #2
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    Post
    2,000
    da quel che si capisce hai un'anagrafica clienti e una tabella 1-n contenente qualcosa ma che l'id cliente non è univoco quindi quel che ti suggerisco io è :
    riparti!
    l'anagrafica non può avere id univoci da una data in avanti!
    se hai esigenze specifiche per tenere un id non univoco (ammesso e direi non concesso che ce ne siano) spiegaci meglio.

    A prescindere da questo, anche volendoti aiutare non si capisce quali siano i criteri per valorizzare il campo CODICE che vorresti darti

  3. #3
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Luogo
    Milano
    Post
    672
    Grazie muttley005
    allora la tabella ha come Key il cliente + codice

    il mio problema più grosso è che questa tabella di transcodifica la alimento da un file che ricevo da un altro ufficio e per poter quadrare i dati con loro devo necessariamente procedere a "allineare" i miei dati con il loro codice.

    Quello che non riesco a fare è dire alla query che se la data inserimento è >= alla DataInizioValidità e <= alla DataFineValidità leggo il codice di quel record.


    Scusatemi ma purtroppo non riesco a spiegarmi meglio.

    grazie
    Ciao

    Andrea

    Spero di esserti stato di aiuto.

  4. #4
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    Post
    2,000
    usa un iif(condizione;parte vera; parte false) nella select
    con , al posto del ; se direttamente in SQL

  5. #5
    Ferrari_and non è in linea Scolaretto
    Post
    253
    codice:
    SELECT 1.Cliente , 1.datainserimento, 2.codice FROM 1 INNER JOIN 2
    ON 1.cliente = 2.Cliente WHERE 1.datainserimento BETWEEN 2.DataInizioValidità and 2.DataFineValidità
    Sql fatta ma non provata ad occhio potrebbe funzionare.

  6. #6
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    Post
    2,000
    Ferrari la tua va bene come filtro ... io ho capito che vuole un valore o un altro in base ad una condizione ... ma forse ho capito male io

    aspetto chiarimenti da Elimar... magari con un esempio + chiaro

  7. #7
    Ferrari_and non è in linea Scolaretto
    Post
    253
    Io veramente mi ero limitato a vedere il risultato voluto i post successivi li avevo letti ma forse ho equivocato.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi