Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Mischiare i risultati di query UNION

    Carissimi,
    ho 2 tabelle, FOTO e VIDEO, tramite la seguente query unisco i dati, premetto l'id potrebbe essere di uguale numerazione per entrambi le tabelle, ma alla stampa a video dei risultati vedo in prima tutti quelli FOTO e poi accodati quelli VIDEO, io invece li vorrei vedere mischiati in base all'id, se c'è l'id 3 sia per foto che per video devono essere vicini come risultati:
    Ecco la query:
    codice:
    sql = "SELECT * from foto WHERE categoria = '" & scategoria & "' AND attiva = 'SI' UNION ALL SELECT * from video WHERE categoria = '" & scategoria & "' AND attiva = 'SI' order by id desc "
    Ed ecco la stampa dei risultati:
    codice:
    <% 
    if rec.Fields("cosa") = "foto" then 
    %>
    box per FOTO con immagini e testo
        <%
        else
        %>
    box per VIDEO con link video e testo
        <%
        end if
        %>
    Considerando che ogni box è differente ho dovuto impostare una if.
    Potete aiutarmi per fare vedere i risultati foto e video mischiati?
    Grazie
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessun aiuto???

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    sql ="select * from (SELECT * from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT * from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') order by id desc "
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Quote Originariamente inviata da br1 Visualizza il messaggio
    sql ="select * from (SELECT * from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT * from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') order by id desc "
    niente, in ordine vedo prima tutti i risultati delle FOTO e poi tutti quelli dei VIDEO.
    E i risultati VIDEO ho errore non
    codice:
    Item cannot be found in the collection corresponding to the requested name or ordinal.
    

    Grazie
    G.
    Ultima modifica di djjunior; 24-02-2014 a 15:07

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Ho cambiato invece dell'id, ho impostato come order la data:
    codice:
    sql = SELECT * FROM (SELECT * from foto WHERE categoria = '"& scategoria &"' AND attiva = 'SI' UNION ALL SELECT * from video WHERE categoria = '"& scategoria &"' AND attiva = 'SI') order by data desc "
    Solo che quando mi stampa i VIDEO mi stampa il secondo in ordine di data, in pratica nel db ci sono gli ultimi 2 risultati con la stessa data ma con i id diverso, ma questa query mi stampa il "penultimo" come mai? Non dovrebbe stamparmi l'ultimo? Come posso ovviare modificando la suddetta query??
    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Nessun aiuto?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Nessuno può aiutarmi a capire dove sbaglio?

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.