Visualizzazione dei risultati da 1 a 9 su 9

Discussione: query statistica

  1. #1

    query statistica

    devo estrarre dati da due tabelle:scontrino e situazioni

    dalla tabella situazioni il campo
    CodiceCli (testo)
    nella tabella scontrino dove ho anche il codicecli devo fare dei calcoli sul campo prezzo
    in particolare
    devo avere il totale x cliente il il prezzo massimo pagato quello minimo e la media
    il campo prezzo è però in formato testo (troppo lungo spiegare xchè.....)
    ci sto provando da un pò ma la query sql proprio non mi viene.........(sarà xchè sono in piedi dalle 5 bah...)


    mi date una mano
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  2. #2
    fai un piccolo schema della situazione...

    posta un po di codice


  3. #3
    dovrei fare una cosa del genere

    SELECT situazioni.codicecli,Count(*) as numerocontratti,SUM(scontrino.prezzo)AS Totprezzo,MIN(scontrino.prezzo)as minprezzo,max(scontrino.prezzo)as maxprezzo,AVG(scontrino.prezzo) as avgprezzo

    FROM situazioni
    Inner Join scontrino
    on scontrino.codicecli=situazioni.codicecli
    group by
    situazioni.codicecli,scontrino.codicecli,scontrino .prezzo


    ma essendo prezzo testo .....non va
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  4. #4
    ecco e perchè PREZZO è testo?


    prova a vedere (se usi Access) se funziona CDBL:

    es:

    codice:
    max(CDBL(scontrino.prezzo))

    ma fai prima a convertire prezzo in testo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    è testo per colpa di un imbecille ...ma è lungo da spiegare


    che intendi prima convertire.......?



    la query mi sembra giusta
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  6. #6
    usa la conversione in-line --- CDBL(campo) --- come ti ha detto santuzzo

  7. #7
    sto diventando scemo

    sta query non va

    ho cambiato il campo prezzo in valuta ma......ottengo sempre errore
    il campo codice cliente da confrontare è ricevuto da un arrey
    vi posto il codice per il solo totale:






    strSql="SELECT situazioni.codicecli,Count(*) as numerocontratti,SUM(scontrino.prezzo)AS Totprezzo FROM situazioni Inner Join scontrino on scontrino.codicecli=situazioni.codicecli WHERE situazioni.codicecli='"&codicecli(i)&"'" &"group by situazioni.codicecli,scontrino.codicecli,scontrino .prezzo"
    ottengo:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

    /novelli/includes/statistica_cliente.asp, line 24 (che corrisponde strsql)
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  8. #8
    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

    Verifica che i nomi dei campi scritti nella query sia corretti rispetto ai campi della tabella stessa...

  9. #9
    a te comunque la query sembra corretta?

    ti riepilogo la situazione devo consegnare la pagina lunedì ma non mi viene

    recupero il campo codicecli da un array

    quindi ho un valore pari a
    codicecli(i) testo

    le due tabelle sono
    tabella situazioni
    i cui campi sono:

    id (contatore)
    codicecli(testo)
    tipo(testo)
    stato(testo)
    data (data)
    id_venditore (num)
    id_corriere (num)

    da questa tabella debbo ricevere il codicecli


    la tabella scontrino è così

    idscontrino(contatore)
    id (numero)
    prezzo (numero)
    acconto (numero)
    data_consegna(data)
    ps(testo)
    tipo_consegna(testo)
    id_collaboratore(testo)
    ordine(testo)
    id_corriere(testo)

    ho bisogno dii una query che mi calcoli il totale prezzo (se possibile anche il prezzo max e min pagato) dal cliente corrispondente a codicecli(i)
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

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