Visualizzazione dei risultati da 1 a 9 su 9

Discussione: query di pazzi

  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    query di pazzi

    Salve a tutti allora io ho questa query che mi riempie un datagrid.


    SELECT Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM ((Prezzi INNER JOIN Telefoni ON Prezzi.id_telefono = Telefoni.id_telefono) INNER JOIN Fornitori ON Prezzi.id_fornitore = Fornitori.id_fornitore) WHERE (Prezzi.prezzo = (SELECT MIN(cdbl(prezzo)) AS minimo FROM Prezzi Prezzi_1 WHERE (id_telefono = Telefoni.id_telefono) AND (cdbl(prezzo) > 0))) ORDER BY Telefoni.telefono


    Ora il mio problema è che se ho 2 prodotti con lo stesso prezzo minimo me li spara tutti e due a video. Ora io dovrei prendere il prodotto dove il fornitore ha il listino con la data maggiore.

    Quindi il campo Fornitori.data_listino. Mi sapete aiutare perchè mi sono perso

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    scusami ma il titolo voleva essere "query di prezzi" ?

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    prezzi, pazza, da uscire pazzi siamo li

    Originariamente inviato da djciko
    scusami ma il titolo voleva essere "query di prezzi" ?

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    tutta questa:

    SELECT Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM ((Prezzi INNER JOIN Telefoni ON Prezzi.id_telefono = Telefoni.id_telefono) INNER JOIN Fornitori ON Prezzi.id_fornitore = Fornitori.id_fornitore) WHERE (Prezzi.prezzo = (SELECT MIN(cdbl(prezzo)) AS minimo FROM Prezzi Prezzi_1 WHERE (id_telefono = Telefoni.id_telefono) AND (cdbl(prezzo) > 0))) ORDER BY Telefoni.telefono

    diventa l'impasto per un altra select che fa il MAX su Fornitori.data_listino
    quindi diventa:

    SELECT MAX(Fornitori.data_listino.) AS data, Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM (tutta quella sopra)...

    devi aggiungere anche Fornitori.data_listino nella sottoselect...(tutta quella sopra)...

    I got the remedy

  5. #5
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    mi da errore

    Originariamente inviato da albgen
    tutta questa:

    SELECT Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM ((Prezzi INNER JOIN Telefoni ON Prezzi.id_telefono = Telefoni.id_telefono) INNER JOIN Fornitori ON Prezzi.id_fornitore = Fornitori.id_fornitore) WHERE (Prezzi.prezzo = (SELECT MIN(cdbl(prezzo)) AS minimo FROM Prezzi Prezzi_1 WHERE (id_telefono = Telefoni.id_telefono) AND (cdbl(prezzo) > 0))) ORDER BY Telefoni.telefono

    diventa l'impasto per un altra select che fa il MAX su Fornitori.data_listino
    quindi diventa:

    SELECT MAX(Fornitori.data_listino.) AS data, Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM (tutta quella sopra)...

    devi aggiungere anche Fornitori.data_listino nella sottoselect...(tutta quella sopra)...


    Ho questo errore
    Impossibile eseguire una query che non include l'espressione "Expr1" specificata come parte di una funzione di aggregazione.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Data.OleDb.OleDbException: Impossibile eseguire una query che non include l'espressione "Expr1" specificata come parte di una funzione di aggregazione.

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    eh lo so !
    infatti ti ho scritto devi aggiungere anche Fornitori.data_listino nella sottoselect...(tutta quella sopra)...
    I got the remedy

  7. #7
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    No da sempre errore ho capito bene?

    Originariamente inviato da albgen
    eh lo so !
    infatti ti ho scritto devi aggiungere anche Fornitori.data_listino nella sottoselect...(tutta quella sopra)...
    ecco la query che ho usato

    SELECT MAX(Fornitori.data_listino.) AS data, Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM (SELECT Prezzi.id_prezzo AS Expr1, Prezzi.prezzo AS Expr2, Prezzi.id_telefono AS Expr3, Prezzi.id_fornitore AS Expr4, Fornitori.data_listino as Expr5, Prezzi.id_prezzo, Prezzi.prezzo, Prezzi.id_telefono, Prezzi.id_fornitore, Fornitori.ragione_sociale, Telefoni.telefono FROM ((Prezzi INNER JOIN Telefoni ON Prezzi.id_telefono = Telefoni.id_telefono) INNER JOIN Fornitori ON Prezzi.id_fornitore = Fornitori.id_fornitore) WHERE (Prezzi.prezzo = (SELECT MIN(cdbl(prezzo)) AS minimo FROM Prezzi Prezzi_1 WHERE (id_telefono = Telefoni.id_telefono) AND (cdbl(prezzo) > 0))) ORDER BY Telefoni.telefono)

    ecco l'errore:
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Data.OleDb.OleDbException: Impossibile eseguire una query che non include l'espressione "Expr1" specificata come parte di una funzione di aggregazione.

    eppure il campo che mi hai detto c'è

  8. #8
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    prova con SELECT MAX(Expr5)......
    I got the remedy

  9. #9
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    sempre questo

    Originariamente inviato da albgen
    prova con SELECT MAX(Expr5)......
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Data.OleDb.OleDbException: Impossibile eseguire una query che non include l'espressione "Expr1" specificata come parte di una funzione di aggregazione.

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