Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Date_sub

  1. #1

    Date_sub

    salve a tutti. sto cercando di fare una query che permetta di elencare tutti i venditori che hanno venduto più di 100 beni in una transazione nell’ultimo anno.

    SELECT v.RagioneSociale, t.QuantitaBene
    FROM Venditore v, Transazione t
    WHERE t.DataAcquisto >= DATE_SUB (CURDATE, INTERVAL 365 DAY)
    AND t.RagioneSociale >100

    eppure mi sembra che sintatticamente è corretta! invece mi da qst'errore

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND t.RagioneSociale >100) LIMIT 0, 30' at line 3

    uso phpmyadmin
    perchè secondo voi? ho provato anche a modificare le parentesi ma niente

  2. #2
    DATE_SUB (CURDATE(), INTERVAL 1 YEAR)

    curdate() e' una funzione vuole le parentesi e poi conviene usare 1 year altrimenti ti fumi gli eventuali giorni bisestili

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Anche facendo come dici non va, avevo già provato!

  4. #4
    Originariamente inviato da cavolinauff
    Anche facendo come dici non va, avevo già provato!
    non va cosa? Nella query che hai postato hai un evidente errore di sintassi che ho segnalato.

    intanto dovresti limitare il periodo "ultimo anno" con un inizio ed una fine, poi gli eventi RagioneSociale andrebbero contati per vedere quelli che ne hanno 100 o piu'.

    Quindi va corretto il periodo nel WHERE e poi usare GROUP BY per la conta e poi HAVING per selezionare solo quelli con piu' di 100 eventi.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ok ho corretto ma cmq mi dà errore.

    SELECT v.RagioneSociale, t.QuantitaBene
    FROM Venditore v, Transazione t
    WHERE t.DataAcquisto >= DATE_SUB (CURDATE(), INTERVAL 1 YEAR)
    AND t.QuantitaBene >100

    devo ricercare solo i venditori che hanno venduto piu di 100 beni! non contarli..! ma cmq mi dice questo:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND t.QuantitaBene>100 LIMIT 0, 30' at line 3

  6. #6
    Originariamente inviato da cavolinauff
    ok ho corretto ma cmq mi dà errore.

    SELECT v.RagioneSociale, t.QuantitaBene
    FROM Venditore v, Transazione t
    WHERE t.DataAcquisto >= DATE_SUB (CURDATE(), INTERVAL 1 YEAR)
    AND t.QuantitaBene >100

    devo ricercare solo i venditori che hanno venduto piu di 100 beni! non contarli..! ma cmq mi dice questo:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND t.QuantitaBene>100 LIMIT 0, 30' at line 3
    come fai a sapere chi ha venduto piu' di 100 beni??? dovrai contarli oppure ad ogni vendita aggiorni il totale delle vendite.

    Sto rispondendo alla cieca perche' non conosco la struttura del tuo db. Per l'errore prova a togliere lo spazio dopo date_sub.

    comunque sia poi esegui un INNER JOIN tra venditore e transazioni senza specificare l'associazione dei record tra le due tabelle.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    grazie era lo spazio

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.