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

Discussione: query con somma escludi valori uguali

  1. #1
    Rinaldino23 non è in linea Scolaretto
    Post
    204

    query con somma escludi valori uguali

    buonasera a tutti,
    ho creato la seguente query per una banale somma:

    codice:
    SELECT PreventivoTrattamenti.IDPdT, [Piano di Trattamento].Tipo, [Piano di Trattamento].Sconto, [Tbl Pazienti].IDPaziente, Sum([prezzo]*(1-[scontopercentuale])) AS PrezzoNetto
    FROM [Tbl Pazienti] INNER JOIN ([Piano di Trattamento] INNER JOIN PreventivoTrattamenti ON [Piano di Trattamento].IDPdT = PreventivoTrattamenti.IDPdT) ON [Tbl Pazienti].IDPaziente = [Piano di Trattamento].IDPaziente
    GROUP BY PreventivoTrattamenti.IDPdT, [Piano di Trattamento].Tipo, [Piano di Trattamento].Sconto, [Tbl Pazienti].IDPaziente
    HAVING ((([Tbl Pazienti].IDPaziente)=[Maschere]![Anagrafica Paziente]![IDPaziente]));
    ma ha il problema nel caso ci siano due [prezzo] uguali ne somma solo uno dei due, dove sto sbagliando? cosa mi sfugge?

    grazie

  2. #2
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,906
    Chiarisci se
    [Tbl Pazienti] è 1-N con la [Piano di Trattamento]?
    [Piano di Trattamento] + 1-N con la [PreventivoTrattamenti] ?
    Prezzo in che tabella sta? e scontopercentuale? entrambi sulla PreventivoTrattamenti ?
    quando puoi avere 2 "prezzo"?
    non sto capendo bene la tua situazione ma forse ti basta aggiungere un " * count(id) "

  3. #3
    Rinaldino23 non è in linea Scolaretto
    Post
    204
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    Chiarisci se
    [Tbl Pazienti] è 1-N con la [Piano di Trattamento]?
    [Piano di Trattamento] + 1-N con la [PreventivoTrattamenti] ?
    Prezzo in che tabella sta? e scontopercentuale? entrambi sulla PreventivoTrattamenti ?
    quando puoi avere 2 "prezzo"?
    non sto capendo bene la tua situazione ma forse ti basta aggiungere un " * count(id) "
    Esattamente le relazioni sono come le hai dette tu.
    Prezzo e scontopercentuale sono entrambi in PreventicoTrattamenti, posso avere 2 prezzo uguale quando ci sono due record uguali (trattamenti) o quando due trattamenti diversi hanno lo stesso prezzo.

    Grazie per l’aiuto

  4. #4
    L'avatar di Max.Riservo
    Max.Riservo non è in linea Scribacchino
    Post
    596
    La query mi lascia molto perplesso ....
    Sei sicuro che ti serva l'Having ? A me sembra più utile (e performante) il Where.
    Raggruppi per Sconto ? Veramente ?
    Hai un campo Sconto (in una tabella) e un campo Sconto% in un'altra tabella : forse uno dei due è di troppo (ma anche no).
    Comunque ascolta il consiglio di Mutt e inserisci un conteggio delle righe che concorrono a formare il totale (così fai un poco di debug) : di fatto aggiungi count(prezzo) as NRighe.

    Senza andare oltre, il risultato che segnali (la query sembra NON includere i risultati doppi / uguali) sarebbe corretto nel caso di una select distint .... ma da quello che ci hai mostrato non si vede il 'distinct' .....

+ Rispondi al Thread

Permessi di invio

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