Ordine di due campi fattura

di il
8 risposte

Ordine di due campi fattura

Buongiorno vorrei sapere se è possibile mettere in rodien crescente due campi della fatture(data e numero)
esempio dovrebbero apparire cosi:
nume data
0002 05/05/5018
0001 01/01/2018
pero nella stessa tabella ci sono fatture anche del 2017. ma a me interessa mettere in ordine crescente solo quelle del 2018..ho provato sul un solo campo è funziona su tutti e due non mi funziona-
grazie
SELECT DISTINCT T_Data.nrfattura, T_Data.DataFattura, T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla
FROM (T_Data INNER JOIN T_FatturaBolla ON T_Data.IdData = T_FatturaBolla.IdDataEst) INNER JOIN T_Clienti ON T_Data.IdClientiEst = T_Clienti.cliente
WHERE (((T_Data.flag_fatt_bolla)="F"))
ORDER BY T_Data.DataFattura DESC;
cosi ho scritto per la data fattura e funziona ma non mi funziona con il numero

8 Risposte

  • Re: Ordine di due campi fattura

    sviluppoadesso ha scritto:


    ...
    pero nella stessa tabella ci sono fatture anche del 2017. ma a me interessa mettere in ordine crescente solo quelle del 2018..ho provato sul un solo campo è funziona su tutti e due non mi funziona.
    Cosa significa che non funziona? Dà errore o non dà il risultato voluto? Nutro alcuni dubbi sull'utilità del DISTINCT ma mi riservo di approfondire (possono esserci doppioni dell'accoppiata numero e datafattura? strano)
    L'ordine crescente, se si applica, si applica a tutti i record, non puoi decidere di ordinare solo quelli del 2018 e non quelli degli altri anni se non escludendoli fin da subito dalla query e quindi integrando la clausa WHERE.
    Il campo T_Data.nrfattura è di tipo testo o la presenza degli zeri iniziali (0001, 0002) è solo un effetto visivo?
  • Re: Ordine di due campi fattura

    Mi pare ovvio che devi applicare un filtro sull'anno, in caso contrario ti mostra tutto.
  • Re: Ordine di due campi fattura

    Ok adesso ho applicato il filtro su tutti i campi ma cmq non viene quello che vorrei

    SELECT DISTINCT T_Data.nrfattura, T_Data.DataFattura, T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla
    FROM (T_Data INNER JOIN T_FatturaBolla ON T_Data.IdData = T_FatturaBolla.IdDataEst) INNER JOIN T_Clienti ON T_Data.IdClientiEst = T_Clienti.cliente
    WHERE (((T_Data.flag_fatt_bolla)="F"))
    ORDER BY T_Data.nrfattura, T_Data.DataFattura DESC , T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla;
    0001/2017
    0001/2018
    0002/2017
    0002/2018
    ed è sbagliato dovrebbe mettere per prima tutti i 2018 in ordine progressivo..
  • Re: Ordine di due campi fattura

    sviluppoadesso ha scritto:


    ...ORDER BY T_Data.nrfattura, T_Data.DataFattura DESC , T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla;
    0001/2017
    0001/2018
    0002/2017
    0002/2018
    ed è sbagliato dovrebbe mettere per prima tutti i 2018 in ordine progressivo..
    L'ordine dei campi dopo ORDER BY non è indifferente. Prima devi ordinare per DataFattura e poi per nrfattura.
  • Re: Ordine di due campi fattura

    Niente non funziona nel senso che non mette in ordine come vorrei
  • Re: Ordine di due campi fattura

    sviluppoadesso ha scritto:


    Niente non funziona nel senso che non mette in ordine come vorrei
    Se non hai modificato la query di cui sopra è evidente. Se il problema persiste nonostante qualche modifica ripubblica la query modificata.
  • Re: Ordine di due campi fattura

    SELECT DISTINCT T_Data.DataFattura, T_Data.nrfattura, T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla
    FROM (T_Data INNER JOIN T_FatturaBolla ON T_Data.IdData = T_FatturaBolla.IdDataEst) INNER JOIN T_Clienti ON T_Data.IdClientiEst = T_Clienti.cliente
    WHERE (((T_Data.flag_fatt_bolla)="F"))
    ORDER BY T_Data.nrfattura, T_Data.DataFattura DESC , T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla;
  • Re: Ordine di due campi fattura

    sviluppoadesso ha scritto:


    SELECT DISTINCT T_Data.DataFattura, T_Data.nrfattura, T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla
    FROM (T_Data INNER JOIN T_FatturaBolla ON T_Data.IdData = T_FatturaBolla.IdDataEst) INNER JOIN T_Clienti ON T_Data.IdClientiEst = T_Clienti.cliente
    WHERE (((T_Data.flag_fatt_bolla)="F"))
    ORDER BY T_Data.nrfattura, T_Data.DataFattura DESC , T_Clienti.RagioneSociale, T_Data.flag_fatt_bolla;
    Ti è già stato indicato sopra di invertire i campi nella Order By...prima la data o anno, non so com'è il tuo campo, poi il numero...
    Se poi il tuo intento è riordinare il 2018 e randomizzare il 2017 allora è un altro paio di maniche...
Devi accedere o registrarti per scrivere nel forum
8 risposte