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

    visualizzare record raggruppati per data

    ciao a tutti,
    data questa query
    codice:
    strSQL = "SELECT TOP 19 * FROM primopiano WHERE (ID<>"&id1&" AND ID<>"&ID2&" AND ID<>"&ID3&" AND ID<>"&ID4&") order by id desc"
    visualizzo i record restituiti con questo codice:
    codice:
    <%
    rs.Open strsql,OBJdb,1,3
    for I=1 to 20
    if rs.eof then exit for
    response.write titolo=rs("titolo")
    RS.MoveNext
    Next
    rs.Close
    %>
    che crea una lista di questo tipo:
    titolo1
    titolo2
    titolo3

    ora mi occorrerebbe dividere i titoli in base al campo "data", ossia:

    20/05/2007:
    titolo1
    titolo2

    21/05/2007:
    titolo3

    Immagino si debba raggruppare per il campo data ma non so come stampare nel modo piu' efficiente possibile una sola volta la data per ogni gruppo di record
    tra l'altro il campo data contiene anche l'ora (che non va utilizzata nel raggruppamento).

    idee?
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  2. #2
    Devi usare due query di cui la seconda annidata nella prima.
    Nella prima selezioni la data e nella seconda selezioni i record corrispondeti a quella data.

  3. #3
    Originariamente inviato da Mems
    Devi usare due query di cui la seconda annidata nella prima.
    Nella prima selezioni la data e nella seconda selezioni i record corrispondeti a quella data.
    il fatto è che devo visualizzare 20 record, sempre e comunque, indipendentemente dalla data (che serve solo a raggrupparli). Quindi non conosco le date a priori. Per innestata intendi così?

    codice:
    SELECT DISTINCT TOP 20 p1.data, p1.titolo FROM primopiano P1
    where EXISTS (select titolo from primopiano AS P2 where data=p1.data);
    mi da un risultato molto simile ad un semplice top 20 di data e titolo ma sicuramente ho sbagliato qualcosa.
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  4. #4
    Puoi provare a fare un controllo sulla data di ogni record e a stamparla solo nel caso in cui sia differente dalla data stampata nel passaggio (nel DO) precedente.
    codice:
    if not rs.eof then
    do until rs.eof
    if rs("campoData") <> dataPrecedente then
    response.write rs("campoData") & "
    "
    end if
    dataPrecedente = rs("campoData")
    response.write "- " & rs("campoCodice") & "
    "
    rs.moveNext
    loop
    end if
    Ovviamente devi usare la tua query e ordinare i record per data.

  5. #5
    grazie mille, funziona alla grande
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

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