Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 17 su 17

Uso della funzione LIMIT o TOP

  1. #11
    L'avatar di attila666
    attila666 non è in linea Scolaretto
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    secondo me potresti provare seguendo questi passi
    1. togli il TOP dalla SQL e lascia l'ordine che ti interessa (in realtà potresti lasciarlo per ridurre i record passati alla SQL "padre", vedi secondo punto)
    2. metti la tua SQL risultante come SUB di un'altra in cui metti il TOP
    e il problema non lo sposterei semplicemente da una query ad un altra ?
    ℹ️ Leggi di più su attila666 ...

  2. #12
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    hai provato?
    la risposta se fai questa domanda è ovviamente no.
    Ti spiego perchè anche la risposta alla tua domanda è no:
    la sub ti porta ad avere eventualmente righe in più perchè c'è un GROUP BY
    la seconda riceve N righe e senza group by il TOP agisce come ti aspetti

  3. #13
    L'avatar di attila666
    attila666 non è in linea Scolaretto
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    hai provato?
    la risposta se fai questa domanda è ovviamente no.
    Ti spiego perchè anche la risposta alla tua domanda è no:
    la sub ti porta ad avere eventualmente righe in più perchè c'è un GROUP BY
    la seconda riceve N righe e senza group by il TOP agisce come ti aspetti
    il problema non è il GROUP BY ma l'ordinamento DESC, se lo uso (e devo farlo perché devo rappresentare i numeri in questo modo) e ci sono 10 valori uguali, la query me li visualizza tutti e 10 visto che non ci sono due "TOP" comunque ho provato ora query e sub-query, e funziona ma solo perché non ordino (DESC) il campo nella seconda query , (visto che lo faccio nella prima query), se provo a ordinarla mi ripete l'errore. grazie per il suggerimento
    ℹ️ Leggi di più su attila666 ...

  4. #14
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    se tu la sub la fai uscire ordinata la "padre" deve solo fare il top, non serve l'ordine quindi risolvi, no?

  5. #15
    L'avatar di attila666
    attila666 non è in linea Scolaretto
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    se tu la sub la fai uscire ordinata la "padre" deve solo fare il top, non serve l'ordine quindi risolvi, no?
    Si certo era solo per chiarire il problema, il "Like" te lo meriti tutto

    P.s. Però adesso ho fatto una query "padre" e un' altra query separata che la richiama, suppongo che potrei nidificarle in una query unica giusto ? per fare questo però mi trovo in difficoltà, un altro aiutino ?
    la query "unica" è questa:
    SELECT TOP [2,] DB.[Codice Etichetta], Round(Sum(IIf(([DB].[Data creazione avviso]>=#1/1/2021# And [DB].[Data creazione avviso]<=#3/7/2021#+1 And ([Data Fine Lavori] Is Not Null Or [Data Chiusura avviso] Is Not Null)),(IIf(([Data Fine Lavori] Is Not Null),DateDiff('s',[Data creazione avviso],[Data Fine Lavori]),DateDiff('s',[Data creazione avviso],[Data Chiusura avviso]))/3600))),1) AS Ore_Lavorate_2021
    FROM DB
    WHERE (((DB.[Tipo Ordine])="z002") AND ((DB.[CdL Responsabile])="ilm") AND ((DB.[Tipo Oggetto])="y_elv") AND ((DB.[Stato avviso])="chiuso"))
    GROUP BY DB.[Codice Etichetta]
    HAVING (((Round(Sum(IIf(([DB].[Data creazione avviso]>=#1/1/2021# And [DB].[Data creazione avviso]<=#3/7/2021#+1 And ([Data Fine Lavori] Is Not Null Or [Data Chiusura avviso] Is Not Null)),(IIf(([Data Fine Lavori] Is Not Null),DateDiff('s',[Data creazione avviso],[Data Fine Lavori]),DateDiff('s',[Data creazione avviso],[Data Chiusura avviso]))/3600))),1))>0))
    ORDER BY Round(Sum(IIf(([DB].[Data creazione avviso]>=#1/1/2021# And [DB].[Data creazione avviso]<=#3/7/2021#+1 And ([Data Fine Lavori] Is Not Null Or [Data Chiusura avviso] Is Not Null)),(IIf(([Data Fine Lavori] Is Not Null),DateDiff('s',[Data creazione avviso],[Data Fine Lavori]),DateDiff('s',[Data creazione avviso],[Data Chiusura avviso]))/3600))),1) DESC;
    
    ℹ️ Leggi di più su attila666 ...

  6. #16
    L'avatar di muttley005
    muttley005 non è in linea Topo di biblioteca
    prendi la tua prima SQL (primo post)
    e scrivi ad esempio:
    select top N *
    from
     (...) as dati
    
    dove al posto dei "..." metti la tua prima SQL senza ";" finale

  7. #17
    L'avatar di attila666
    attila666 non è in linea Scolaretto
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    prendi la tua prima SQL (primo post)
    e scrivi ad esempio:
    select top N *
    from
     (...) as dati
    
    dove al posto dei "..." metti la tua prima SQL senza ";" finale
    Ora ragioniamo, Grande
    ℹ️ Leggi di più su attila666 ...

+ Rispondi al messaggio
Pagina 2 di 2 primaprima 12

Potrebbero interessarti anche ...

  1. Risposte: 3
    Ultimo Post: 26-08-2017, 05:57
  2. Uso della funzione API PrintDlg
    Da ganzos nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 23-07-2011, 10:59
  3. corrispettivo della funzione VALORE in VBA?
    Da caracalla nel forum Microsoft Access
    Risposte: 10
    Ultimo Post: 25-03-2011, 12:06
  4. [Access] Esiste una funzione LIMIT?
    Da Zigo nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 25-09-2007, 21:45
  5. funzione giorni della settimana
    Da papy2 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 19-04-2006, 17:19