Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    estrarre un solo record da questa query

    Ciao a tutti ho questa query:

    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, Fornitori.data_listino
    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, Fornitori.data_listino DESC


    dalla quale tiro fuori il prezzo minimo del prodotto tra i vari fornitori. Ora il problema è che se più fornitori hanno lo stesso prezzo minimo me li trova tutti. Ma io devo prendere solo il primo in quanto è quello con la data listino + recente. Ma come posso fare, sto impazzanedo per farlo ma trovo soluzione. CHi mi può aiutare???

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    inverti questi:
    Telefoni.telefono, Fornitori.data_listino

    e inserisci TOP 1 dopo SELECT, a meno che tu non stia usando mysql... in tal caso c'è Limit.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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

    cioè

    Originariamente inviato da 99eros9
    inverti questi:
    Telefoni.telefono, Fornitori.data_listino

    e inserisci TOP 1 dopo SELECT, a meno che tu non stia usando mysql... in tal caso c'è Limit.
    dovrebbe venire così:

    SELECT TOP 1 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, Fornitori.data_listino, 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, Fornitori.data_listino DESC

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    no, devi anche invertire questo pezzo:
    Telefoni.telefono, Fornitori.data_listino
    in
    Fornitori.data_listino, Telefoni.telefono
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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

    purtroppo non va bene

    Originariamente inviato da 99eros9
    no, devi anche invertire questo pezzo:
    Telefoni.telefono, Fornitori.data_listino
    in
    Fornitori.data_listino, Telefoni.telefono
    Facendo così:

    SELECT TOP 1 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, Fornitori.data_listino, 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 Fornitori.data_listino, Telefoni.telefono DESC

    Mi da un solo risultato ma non mi carica il datagrid con tutti gli altri prodotti e prezzi.

  6. #6
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    ma non hai detto che devi prendere solo il primo prodotto??
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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

    si ma...

    Originariamente inviato da 99eros9
    ma non hai detto che devi prendere solo il primo prodotto??
    solo nel caso mi escono + prodotti con lo stesso prezzo minimo e fornitore diverso.
    ad esempio se ho un telefono che 3 fornitori hanno a 20€ devo far uscire solo quello del fornitore che ha data_listino + recente. sono stato + chiaro?

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

    Re: si ma...

    Originariamente inviato da mexican
    solo nel caso mi escono + prodotti con lo stesso prezzo minimo e fornitore diverso.
    ad esempio se ho un telefono che 3 fornitori hanno a 20€ devo far uscire solo quello del fornitore che ha data_listino + recente. sono stato + chiaro?
    nessuno mi sa dira qualcosa su come posso fare?

  9. #9
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    togli TOP e gestisci la visualizzazione via codice... con una query soltanto non puoi risolvere.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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

    mmm

    Originariamente inviato da 99eros9
    togli TOP e gestisci la visualizzazione via codice... con una query soltanto non puoi risolvere.
    e come faccio a gestirla via codice? essendo un datagrid?

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.