Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Order by in una query

  1. #1
    Utente di HTML.it L'avatar di Giubass
    Registrato dal
    Oct 2003
    Messaggi
    169

    Order by in una query

    Ciao a tutti, ho una situazione del genere:

    Tabella Rassegna
    ---------------------------------------------------------------
    Id | Data | Ora | Id_Mese | Id_Artista | Titolo | Url_File |
    ---------------------------------------------------------------

    Tabella Artisti
    ----------------------------------------
    Id | Nome_Artista | Cognome_Artista |
    ----------------------------------------

    Query:
    codice:
    <%
    objSQL3="SELECT DISTINCT Id_Artista FROM Rassegna WHERE Id_Mese="&Id_Mese
    Set objRS3=Server.CreateObject("ADODB.Recordset")
    Set objRS3=objConn.Execute(objSQL3)
     
    If Not objRS3.EOF Then
    
    While Not objRS3.EOF
    
    Id_Artista = objRS3("Id_Artista")
    
    objSQL2="SELECT * FROM Artisti INNER JOIN Rassegna ON Artisti.Id=Rassegna.Id_Artista WHERE [Rassegna.Id_Artista]="&Id_Artista
    Set objRS2=Server.CreateObject("ADODB.Recordset")
    Set objRS2=objConn.Execute(objSQL2)
     
    If Not objRS2.EOF Then
    
    Nome_Artista = objRS2("Nome_Artista")&" "&objRS2("Cognome_Artista")
    
    End If
    %>
    
    <span class="Stile19"><%=UCase(Nome_Artista)%></span>
    
    <%
    RassegnaSQL="SELECT * FROM Rassegna WHERE Id_Mese="&Id_Mese&" AND Id_Artista="&Id_Artista
    Set RassegnaRS=Server.CreateObject("ADODB.Recordset")
    'Set RassegnaRS=objConn.Execute("Rassegne_Mese "&Id_Mese)
    Set RassegnaRS=objConn.Execute(RassegnaSQL)
     
    If Not RassegnaRS.EOF Then
    
       While Not RassegnaRS.EOF
    	  Titolo       = RassegnaRS("Titolo")
    	  Url_File     = RassegnaRS("Url_File")
    %>
    <span class="Stile18"><%=Titolo%></span>
    
     
                  <%
       RassegnaRS.MoveNext
       Wend
    
    Else
    %>
    <div align="center"><span class="Stile10 Stile18">Non &egrave; 
    presente nessuna rassegna stampa per questo mese!</span></div>
    
     
     
    <%
    End If
       RassegnaRS.Close
       Set RassegnaRS = Nothing
    	  
    
    objRS3.MoveNext
    Wend
    
    objRS3.Close
    Set objRS3 = Nothing
    
    objRS2.Close
    Set objRS2 = Nothing
    
    End If %>
    Con le tre query precedenti ottengo un risultato del genere:

    Nome Artista
    Titolo 1 Artista
    Titolo 2 Artista
    Titolo 3 Artista

    Nome Artista 2
    Titolo 1 Artista 2
    Titolo 2 Artista 2
    ....

    Il risultato ottenuto risulta corretto infatti elenco tutti gli artisti ed i relativi titoli delle rassegna per ognuno di essi, il problema nasce perchè non riesco ad ordinarli come vorrei, nella prima query (quella con la clausola Distinct) posso solo ordinare per Id_Artista mentre vorrei poter ordinare per data.

    Come posso fare?

    Grazie

  2. #2
    Scusami non so se ho ben capito e letto bene ma l'ordinamento non lo vedo neppure per id.

    Hai Provato a fare
    codice:
    objSQL3="SELECT DISTINCT(Id_Artista) FROM Rassegna WHERE Id_Mese="&Id_Mese ORDER BY Data
    Ciao

  3. #3
    Utente di HTML.it L'avatar di Giubass
    Registrato dal
    Oct 2003
    Messaggi
    169
    Originariamente inviato da francescocorr
    Scusami non so se ho ben capito e letto bene ma l'ordinamento non lo vedo neppure per id.

    Hai Provato a fare
    codice:
    objSQL3="SELECT DISTINCT(Id_Artista) FROM Rassegna WHERE Id_Mese="&Id_Mese ORDER BY Data
    Ciao
    Certo che avevo provato ma ovviamente mi dava errore:

    La proposizione ORDER BY (Data) è in conflitto con DISTINCT.



  4. #4
    Uhm hai ragione scusa, non so se potrebbe essere giusta la soluzione ma potresti tentare di far selezionare oltre l'id artista anche la data e provare poi così a fare l'ordinamento per data.

    codice:
    objSQL3="SELECT DISTINCT(Id_Artista, Data) FROM Rassegna WHERE Id_Mese="&Id_Mese ORDER BY Data
    Ma che db usi? access?
    Fammi sapere se funziona sono curioso. Ciao

  5. #5
    Utente di HTML.it L'avatar di Giubass
    Registrato dal
    Oct 2003
    Messaggi
    169
    Originariamente inviato da francescocorr
    Uhm hai ragione scusa, non so se potrebbe essere giusta la soluzione ma potresti tentare di far selezionare oltre l'id artista anche la data e provare poi così a fare l'ordinamento per data.

    codice:
    objSQL3="SELECT DISTINCT(Id_Artista, Data) FROM Rassegna WHERE Id_Mese="&Id_Mese ORDER BY Data
    Ma che db usi? access?
    Fammi sapere se funziona sono curioso. Ciao
    Scusa se rispondo solo ora, cmq ho risolto così:
    codice:
    objSQL3="SELECT DISTINCT (Id_Artista),Data FROM Rassegna WHERE Id_Mese="&Id_Mese&" ORDER BY Data"
    Il db è access.


    Grazie

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.