Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    VB 6.0 - Query che non va

    Salve a tutti ho una query che mi restituisce delle rate per le quali devo emettere la fattura.
    Fin qua tutto ok.
    Quando per quella rata ho già emesso la fattura vorrei che quella rata non fosse più visualizzata .... ho usato questa query

    codice:
    SELECT rata.ghost, rata.datarata, commessa.codicecommessa, rata.importo, cliente.ragionesociale, rata.idrata
    FROM ((commessa INNER JOIN cliente ON commessa.idcliente = cliente.idcliente) INNER JOIN rata ON commessa.idcommessa = rata.idcommessa) INNER JOIN fattura ON (commessa.idcommessa = fattura.idcommessa) AND (rata.idrata = fattura.idrata)
    WHERE (((rata.datarata) Between #1/1/2005# And #12/31/2006#) AND ((rata.idrata) Not In (select idrata from fattura))) 
    GROUP BY rata.ghost, rata.datarata, commessa.codicecommessa, rata.importo, cliente.ragionesociale, rata.idrata
    HAVING (((rata.ghost)<>True));
    ho usato not in (select ... ) per escludere la rate già inserite nella tabella fattura ...
    ma non funziona ... non mi fa vedere nessuna rata.
    Dove sbaglio?????

    Grazie a tutti

  2. #2
    Ma il Where del Not In ???

  3. #3
    il where c'è

  4. #4
    Originariamente inviato da raffaeu
    Ma il Where del Not In ???
    si bhè??
    non presente in
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    si devo visualizzare solo le rate che non sono presenti nella tabella fattura

  6. #6
    nessuno sa aiutarmi

  7. #7
    se nella query invece di escludere le rate con not in not In (select idrata from fattura) ... faccio la prova al contrario cioè In (select idrata from fattura) .... funziona

    Ma io vorrei escludere
    HELP

  8. #8
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Ad un esame approfondito della query, sorgono delle domande :

    1) Perchè usi HAVING ? E non piuttosto una condizione di WHERE ?
    HAVING... was added to SQL because the WHERE keyword could not be used against aggregate functions (like SUM), and without HAVING... it would be impossible to test for result conditions.

    The syntax for the HAVING function is:

    SELECT column,SUM(column) FROM table
    GROUP BY column
    HAVING SUM(column) condition value
    Tu non hai nessuna funzione di aggregazione all'interno della tua query

    2) Perchè tutte quelle parentesi tonde ?
    codice:
    WHERE (((rata.datarata) Between #1/1/2005# And #12/31/2006#) AND ((rata.idrata) Not In (select idrata from fattura))) 
    
    non potresti utilizzarla come :
    
    WHERE (rata.datarata Between #1/1/2005# And #12/31/2006#)) AND    rata.idrata Not In (select idrata from fattura)
    Ciao,
    Ciao, Brainjar

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Errata corrige :
    codice:
    WHERE (((rata.datarata) Between #1/1/2005# And #12/31/2006#) AND ((rata.idrata) Not In (select idrata from fattura))) 
    
    non potresti utilizzarla come :
    
    WHERE (rata.datarata Between #1/1/2005# And #12/31/2006#) AND    rata.idrata Not In (select idrata from fattura)
    Ciao,
    Ciao, Brainjar

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.