Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problemi con !exists

  1. #1
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296

    Problemi con !exists

    Buongiorno,
    ho un problema con una query e non capisco perchè su server locale (windows) funziona mentre su internet (unix) la stessa query si impalla.
    Sembrerebbe che l'utilizzo del !EXISTS dia fastidio in qualche modo.
    La query è abbastanza banale, considerare i record che hanno il campo TIPO_PAGAMENTO = '3' o '4' e non considerare quelli che, a parità di chiave, hanno il TIPO_PAGAMENTO = '5'
    Codice PHP:
    SELECT distinct(CODICE_FISCALEFROM pagamenti_generali P                            
                                 WHERE  
    (P.TIPO_PAGAMENTO '3' or P.TIPO_PAGAMENTO '4') and   
                                      !
    EXISTS(SELECT FROM pagamenti_generali P1                               
                                                            WHERE P
    .NUM_DOM_AIUTO P1.NUM_DOM_AIUTO AND 
                                                                       
    TIPO_PAGAMENTO '5'  and 
                                                                       
    P.NEW_MISURA P1.NEW_MISURA
    Mi sapreste dare una dritta?
    Grazie in anticipo

  2. #2
    prova NOT EXISTS

    ricorda sempre di indicare - come da regolamento - che db stai usando

  3. #3
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Ops! Ero convinto di averlo indicato. Trattasi di MySql

  4. #4
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    NOT EXISTS non è accettato mi segnala un errore

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    sei sicuro la versione di mysql sia la stessa?
    perchè exists nelle query, se non sbaglio è possibile solo dalle versioni più recenti

  6. #6
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    sei sicuro la versione di mysql sia la stessa?
    perchè exists nelle query, se non sbaglio è possibile solo dalle versioni più recenti

    • Versione del server: 5.0.92-enterprise-gpl-log (dove non funziona)
    • Versione del server: 10.1.13-MariaDB (dove funziona)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    // doppio post scusate

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    Facendo una veloce ricerca ho notato la exists nelle doc solo dalla 5.4, potrei anche sbagliarmi, ma probabilmente il problema è questo...

    Mentre mariadb ho la 10.2.9 e dovrebbe essere l'ultima stable... (quindi corrispondende alla 5.7 di mysql)

  9. #9
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    Facendo una veloce ricerca ho notato la exists nelle doc solo dalla 5.4, potrei anche sbagliarmi, ma probabilmente il problema è questo...

    Mentre mariadb ho la 10.2.9 e dovrebbe essere l'ultima stable... (quindi corrispondende alla 5.7 di mysql)
    Grazie Zacca94,
    il fatto è che mi accorgo che nelle query composte ho qualche problema sul server in internet:
    esempio:
    Codice PHP:
    SELECT  *  FROM pagamenti_generali Ptipologie_pagamenti T                            
    WHERE  
    (P.TIPO_PAGAMENTO '2' or P.TIPO_PAGAMENTO '3' or 
                
    P.TIPO_PAGAMENTO '4' or P.TIPO_PAGAMENTO '5') and                                        P.TIPO_PAGAMENTO = (SELECT max(TIPO_PAGAMENTOFROM pagamenti_generali P1                                                  where P.NUM_DOM_AIUTO P1.NUM_DOM_AIUTO and                                                                             P.NEW_MISURA P1.NEW_MISURA) and                                                                                          P.TIPO_PAGAMENTO T.ID_TIPO_PAG 
    Sul server internet impiega moltissimo tempo per rispondere e non riesco a capire se è un problema dovuto appunto alla select annidata
    Ultima modifica di otello; 05-02-2018 a 17:50

  10. #10
    sul db "internet" ci sono gli stessi indici del db "locale"?

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