Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    subquery funzionante in sql server ma non in db2

    ciao, ho la necessità di eseguire la seguente query su un database db2 -> (mainframe as400):
    codice:
    Select CAMPO1,CAMPO2 From LIB.FILE where CAMPO1 
    not in (select CAMPO1 from LIB.FILE order by CAMPO1 fetch first 10 rows only ) 
    Order By CAMPO1 fetch first 30 rows only
    sostituendo il fetch first... con un top in sql server ed anche access la query funziona normalmente, mentre su db2 no..
    nota: DB2 non supporta TOP quindi fetch first N rows only è la soluzione migliore.
    Il problema dovrebbe essere proprio la subquery e quel "not in"..
    Qualcuno sà se posso modificare questa query in modo da farla funzionare anche sotto db2 ottenendo lo stesso risultato ?

  2. #2
    innanzitutto limita il problema. vedi se è la subquery -- fanne una semplice e provala

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    innanzitutto limita il problema. vedi se è la subquery -- fanne una semplice e provala
    si si funziona.. in quanto:
    codice:
    select campo1 from lib.file where campo1 not in (select campo1 from lib.file)
    mi restituisce un empty resultset.. ma senza errori..

  4. #4
    le due query separate? le hai provate?

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    le due query separate? le hai provate?
    bhè certo.. ma guarda che cmq le due query puntano alla stessa tabella ed allo stesso campo.. se hai qualche perplessità su quest'ultima cosa ti dico subito che in questo modo:
    codice:
    select top 10 campo1 from lib.file where campo1 not in (select top 100 campo1 from lib.file)
    la query dovrebbe farmi uscire qualche record fuori, quindi il fatto che la tabella della subquery è la stessa della query non è un problema..

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    dimenticavo.. se poi ti chiedi il senso di questa query basta che dai uno sguardo qui:
    http://msdn2.microsoft.com/en-us/library/ms171624.aspx
    al paragrafo: "The DataRetriever Class"

  7. #7
    allora non ho capito quale sia il problema...

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    allora non ho capito quale sia il problema...
    il problema è che su db2 non mi funziona
    quindi se è possibile vorrei una alternativa a questa:
    codice:
    Select campo1 From lib.file 
    where campo1 
    not in (select campo1 from lib.file order by campo1 fetch first 10 rows only ) 
    Order By campo1 fetch first 30 rows only

  9. #9
    ti chiedo una conferma: hai provato le due query separatemente? ti riportano entrambe il risultato voluto?

  10. #10
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    ti chiedo una conferma: hai provato le due query separatemente? ti riportano entrambe il risultato voluto?
    ma puntano alla stessa tabella.. cmq ho appena provato:
    codice:
    Select campo1 From lib.file order by campo1 asc fetch first 30 rows only
    e
    Select campo1 From lib.file order by campo1 asc fetch first 10 rows only
    e funzionano normalmente.. la prima mi riporta 30 record la seconda 10

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.