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

    Tutti i records meno uno

    Ciao a tutti,
    come posso fare per stampare tutti i records di una tabella meno l'ultimo?
    Saluti,
    Carlo

  2. #2
    Prova così:

    codice:
    select * 
      from tabella
    where id_record < (select max(id_record)
                         from tabella)
    Così ti esclude l'ultimo più recente.
    Tu intendi questo o l'ultimo più vecchio?

    In caso dovrebbe andare bene questa:

    codice:
    select * 
      from tabella
    where id_record > (select min(id_record)
                         from tabella)
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    ciao Maximum,
    grazie per il consiglio; ho provato a fare come hai detto ma il risultato è che stampa a video il record (uno dei due presenti nel database) che soddisfa la richiesta 2 volte invece che una, come se lo visualizzasse anche al posto dell'altro che viene escluso. Ti posto il codice.

    Sub HomeScrollNews (iTop)
    Dim oCn, oRs, rSQL
    Dim testo

    Set oCn = DBConnexion(DB_MAIN)

    rSQL = "SELECT * FROM news, versions WHERE nDate < '" & DateTimeToString(Now()) & "' AND nID < (select max(nID)from news)AND nValid=1"
    rSQL = rSQL & " ORDER BY nDate DESC"

    Set oRs = DBRecordSet(oCn, rSQL)

    CreateTopTable "TopNewsLinks", GetTranslation("LANG_TOP") & " " & iTop & " - " & GetTranslation("LANG_NEWS") & sTitleCat
    Response.Write "<MARQUEE behavior='scroll' align='center' direction='up' height='100' scrollamount='2' scrolldelay='160' onmouseover='this.stop()' onmouseout='this.start()'>" & vbCRLF
    If Not oRs.EOF Then
    While Not oRs.EOF
    Response.Write "" & CodeMessage(oRs("nTitle"), False) & "
    " & vbCRLF
    Response.Write "<span style=""text-align: left;"">Inserito il" & GetDateLitteralDDMMYYYY(StringToDate(oRs("nDate")) ) &"da" & oRs("nAuthor") & "</span>
    "
    Response.Write "Clicca&nbsp<a href="""
    if oRs("nURL") <> "" then
    Response.Write oRs("nURL")
    else
    Response.Write "/news.asp"
    end if
    Response.Write " "">qui</a>per raggiungere l'indirizzo del sito

    "
    if oRs("nURL") <> "" then
    Response.Write "[img][/img]"
    end if
    testo = oRs("nHeader")
    testo = Replace (testo,"", "")
    testo = Replace (testo,"
    ", "
    ")
    testo = Replace (testo,"", "")
    testo = Replace (testo,"
    ", "
    ")
    testo = Replace (testo,"", "<u>")
    testo = Replace (testo,"
    ", "</u>")
    testo = Replace (testo,"[s]", "<s>")
    testo = Replace (testo,"[/s]", "</s>")
    testo = Replace (testo,"[cit]", "<cit>")
    testo = Replace (testo,"[/cit]", "</cit>")
    testo = Replace (testo,"[url]", "qui")
    Response.write testo & "
    "
    Response.Write "Letto:" & oRs("nRead") & "volte
    "
    Response.Write "<div style=""padding-bottom: 30px;"">"&"Dettagli...</div>"
    Response.Write "<hr width=""90"" align=""center""><div style=""padding-bottom: 10px;""></div>"
    oRs.MoveNext
    WEnd
    oRs.Close
    Set oRs = Nothing
    oCn.Close
    Set oCn = Nothing


    Questa è la parte interessata.

  4. #4
    A me funzionabo entrambe quelle che ti ho postato, provandole su un DB mio.

    Partendo dal presupposto che la query è questa:

    codice:
    rSQL = "SELECT * FROM news, versions WHERE nDate < '" & DateTimeToString(Now()) & "' AND nID < (select max(nID)from news)AND nValid=1" 
    rSQL = rSQL & " ORDER BY nDate DESC"
    Prova ad eseguire su access solamente la:

    codice:
    select max(nID)from news
    vedi che valore torna.
    Poi, per logica, sapendo questo e provandolo nella query principale:

    codice:
    rSQL = "SELECT * FROM news, versions WHERE nDate < '" & DateTimeToString(Now()) & "' AND nID < <VALORE_DELLA_SELECT_MAX> AND nValid=1" 
    rSQL = rSQL & " ORDER BY nDate DESC"
    Hai il risultato.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Grazie Maximum,
    ho evitato che mi riportasse ogni record 2 volte mettendo questo subito sotto la query:

    If sXMLVersion <> "" Then rSQL = rSQL & " AND vCode='" & sXMLVersion
    & "'"
    If sCategory <> "" Then rSQL = rSQL & " AND nCategory=" & iCategory


    Francamente però non ho capito come mai questo accada; queste righe le ho trovate in un altra subroutines del cms che uso.

  6. #6
    Forse quelle due righe della subroutine, davano noie alla tua query.

    P.S.:Comunque meglio così, hai risolto!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Si, grazie ai tuoi consigli!!
    Ascolta, se invece metto una query come questa

    AND nID = (select min(nID)from news)" & + itop & "AND nValid=1"

    mi restituisce il seguente errore:

    ErroreSQL -2147217900: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'nDate < '20051211 10:27:32' AND nID = (select min(nID)from news)2AND nValid=1'.
    SQL : SELECT * FROM news, versions WHERE nDate < '20051211 10:27:32' AND nID = (select min(nID)from news)2AND nValid=1


    Dov'è il problema?come dovrei scrivere se volessi sommare al valore nID minimo quello contenuto nella variabile itop?
    Grazie tante

  8. #8
    IL 2 in grassetto è la tua variabile e messa lì non ha nè capo nè coda...

    codice:
    'nDate < '20051211 10:27:32' AND nID = (select min(nID)from news)-->2<-- AND nValid=1'.
    La somma non la puoi fare nella query, la devi fare a parte.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  9. #9
    ok, grazie...ma come faccio a farla a parte?quindi sommare il valore di una variabile a quello contenuto nella funzione dellla query che riporta il valore minimo?

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.