+ Rispondi al Thread
Pagina 3 di 5 primaprima 12345 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 42

Discussione: Problema con query

  1. #21
    ettorpa non è in linea Novello
    Post
    28
    Nel senso che fa tutto quello che ci siamo premessi fino ad ora...ma...tutto su un solo record.
    Esempio:
    TIZIO - F300SA1510 - TONER - prezzo_sea 2,86 - prezzo_concorrenza 3,68 - pzmin 2,60 - pz medio 3,01 - pz max 3,68

    invece io vorrei che lo facesse su tutti i record che iniziano per f300sa..(di cui ne abbiamo ampiamente scritto prima)

    F300SA1510 - TIZIO
    F300SA1710 - CAIO
    F300SA2850 - SEMPRONIO
    F300SA3050 - ETC

    magari con le tue dritte, pèotremmo modificare questa pagina??? che dici???

  2. #22
    ettorpa non è in linea Novello
    Post
    28
    ma davvero a te funziona????????????

    Comunque i campi della tabella Dati2 sono i seguenti:

    ID,concorrente,grammi_sea,grammi_con,code,data_reg ,code_oem,description,price (mio prezzo),prezzo_concorrenza,operatore,data,priced (RSD-EURO),prezzo_promo (solo per i prezzi in offerta),xnote

    Ovviamente i campi: data,operatore,priced,prezzo-promo non interessano per il tipo di query che vogliamo.
    Ultima modifica di ettorpa; 10-08-2012 09:20 

  3. #23
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da ettorpa Visualizza il messaggio
    Nel senso che fa tutto quello che ci siamo premessi fino ad ora...ma...tutto su un solo record.
    Esempio:
    TIZIO - F300SA1510 - TONER - prezzo_sea 2,86 - prezzo_concorrenza 3,68 - pzmin 2,60 - pz medio 3,01 - pz max 3,68

    invece io vorrei che lo facesse su tutti i record che iniziano per f300sa..(di cui ne abbiamo ampiamente scritto prima)

    F300SA1510 - TIZIO
    F300SA1710 - CAIO
    F300SA2850 - SEMPRONIO
    F300SA3050 - ETC

    magari con le tue dritte, pèotremmo modificare questa pagina??? che dici???
    Personalmente dico che questo thread mi sembra piuttosto confuso
    a causa della mancanza di specifiche chiare ed inequivocabili.

    Se avessi postato le :
    - Create table
    - Insert into per popolare le tabelle con dati significativi
    - Il risultato desiderato congruente con i dati di cui sopra

    probabilmente sarebbe già risolto.

    ... comunque, ad occhio e croce e sempre ammesso che abbia capito cosa vuoi, puoi provare a lavorare su questa query
    che *scrivo senza averla provata* ma il cui senso è :

    prima ricavo MIN , MAX e MEDIA di prezzo_concorrenza tra tutti gli articoli con soddisfano un
    certo filtro (che puoi cambiare a tuo piacimento) sul campo code
    e poi ricavo gli altri dati di dettaglio del particolare code in questione.

    codice:
    Select 
    D.*
    ,Q.minimo
    ,Q.massimo
    ,Q.media
    from 
    (
      Select code
             ,MIN(prezzo_concorrenza) as minimo          
             ,MAX(prezzo_concorrenza) as massimo 
             ,AVG(prezzo_concorrenza) as media 
    from Dati2 
    WHERE code LIKE '%TuoCodeFiltro%' 
    GROUP BY code
    ) as Q
    Inner join 
     Dati2 as D
    on Q.code=D.code
    HTH
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  4. #24
    ettorpa non è in linea Novello
    Post
    28
    Ciao sspintux, grazie per avermi risposto.
    Hai ragione, però visto che tutte le pagine funzionano a dovere, ho ritenuto opportuno agire solo sulla pagina interessata...ecco il motivo per cui non ho postato le altre pagine (insert - reg) etc..

    Ad ogni modo il mio problema cruciale resta nella query.

    Nella pagina vecchia, mi funziona tutto però com'è strutturata la query, ho i risultati solo su un solo codice/record alla volta.

    Con tutte le varianti query che ho provato, i risultati li ottengo su tutti i record che soddisfano i criteri ma...i dati delle ultime 3 colonne (pzmin,pzmed,pzmax) sono incongruenti perchè i valori sono tutti uguali.

  5. #25
    ettorpa non è in linea Novello
    Post
    28
    Mi dice:
    Microsoft JET Database Engine error '80004005'

    The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

    C'è qualche errore di punteggiatura?

  6. #26
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da ettorpa Visualizza il messaggio
    Mi dice:
    Microsoft JET Database Engine error '80004005'

    The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

    C'è qualche errore di punteggiatura?
    non lo so perché come ti ho già detto non l'ho provata e non ho tempo per ricrearmi la tua situazione.
    Comunque, a guardare meglio quella che hai riportato come tua pagina funzionante, non credo che vada bene
    perché calcola MIN/MAX/AVG raggrupando in base al code.

    ...guarda, a me sembra che la query relativa alla tua "pagina funzionante" faccia essenzialmente questo :
    codice:
    select 
     D.*
    ,(Select MIN(qmin.Prezzo_concorrenza) from Dati2 as qmin where qmin.code like  '%FiltroCerca%' ) as [Minimo]
    ,(Select MAX(qmax.Prezzo_concorrenza) from Dati2 as qmax where qmax.code like  '%FiltroCerca%' ) as [Massimo]
    ,(Select AVG(qavg.Prezzo_concorrenza) from Dati2 as qavg where qavg.code like  '%FiltroCerca%' ) as [Media]
    from Dati2 D
    where D.ID like '%FiltroCerca%' or D.code like '%FiltroCerca%' or D.description like '%FiltroCerca%' 
    order by D.code asc
    a parte errori e/o dimenticanze mie relative a sintassi, non ho capito cosa abbia che non ti va bene.
    .... prova a farla funzionare ed a dircelo
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  7. #27
    ettorpa non è in linea Novello
    Post
    28
    La query che mi hai postato, funziona...ma siamo al punto di partenza.

    Le select MIN,AVG,MAX sono il risultato in base al "prezzo-concorrenza"

    E allora perchè i campi prezzominimo, prezzomedio e prezzomassimo hanno sempre valori uguali?????? in effetti estrare i risultati solo per quel record...ma non analizza gli altri record.

    esempio:

    Pzmin Pzmed Pzmax

    2,60 2,60 2,60


    Forse perchè non si può fare diversamente??? avendo i record disposti uno ad uno???
    Perchè nell'altra pagina mi restituiva i risultati di un code su un solo record...ma i valori erano giusti.
    Esempio:
    Pzmin Pzmed Pzmax

    2,60 3,20 4,50
    Ultima modifica di ettorpa; 10-08-2012 10:54 

  8. #28
    L'avatar di birby
    birby non è in linea Scolaretto
    Luogo
    Brescia
    Post
    124
    Ciao ettorpa, ho provato con la base dati che mi hai fatto avere...
    La query che adesso ti posto, fa il suo dovere:
    codice:
    SELECT code, grammi_sea, grammi_con, code_oem, description, price, xnote,
    MIN(prezzo_concorrenza) AS minimo, AVG(prezzo_concorrenza) AS medio, MAX(prezzo_concorrenza) AS massimo 
    FROM Dati2 
    GROUP BY code, grammi_sea, grammi_con, code_oem, description, price, xnote 
    HAVING code Like 'F300SA%'OR description Like '%F300SA%'
    ORDER BY code
    ti invito a provarla direttamente su ACCESS avendo cura di sostituire il simbolo % con * .


  9. #29
    Luogo
    Lazio
    Post
    1,598
    Blogs
    21
    Quote Originariamente inviato da ettorpa Visualizza il messaggio
    La query che mi hai postato, funziona...ma siamo al punto di partenza.

    Le select MIN,AVG,MAX sono il risultato in base al "prezzo-concorrenza"
    ....
    a quale query ti riferisci ? ... all'ultima postata o a quella precedente ?
    Ciao sspintux
    ------------------------------------------------------------

    O Santo Protettore dell'informatico quadratico medio, se puoi allontana da me questo cetriolo amaro!
    Azz! ... questo è un grande porck-around; potremmo addirittura farlo passare per una funzionalità avanzata

  10. #30
    ettorpa non è in linea Novello
    Post
    28
    A questa sspintux:

    select
    D.*
    ,(Select MIN(qmin.Prezzo_concorrenza) from Dati2 as qmin where qmin.code like '%FiltroCerca%' ) as [Minimo]
    ,(Select MAX(qmax.Prezzo_concorrenza) from Dati2 as qmax where qmax.code like '%FiltroCerca%' ) as [Massimo]
    ,(Select AVG(qavg.Prezzo_concorrenza) from Dati2 as qavg where qavg.code like '%FiltroCerca%' ) as [Media]
    from Dati2 D
    where D.ID like '%FiltroCerca%' or D.code like '%FiltroCerca%' or D.description like '%FiltroCerca%'
    order by D.code asc

+ Rispondi al Thread
Pagina 3 di 5 primaprima 12345 ultimoultimo

Permessi di invio

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