Query ridondante

Prof_Marino

Nuovo Utente
9 Mag 2008
7
0
0
Salve a tutti, nel realizzare il mio primo sito, sto utilizzando frontpage che consente di interagire con access creando pagine di risultati .asp
Qualcuno mi saprebbe dire come si fa ad evitare la ridondanza dei dati restituiti da una query fra tabelle relazionate?
io inserisco in seguente codice :
SELECT Utenti.IDUtente, Utenti.Nome, Commenti.IDCommento, Commenti.Data, Commenti.Commento
FROM Utenti RIGHT JOIN Commenti ON Utenti.IDUtente = Commenti.IDUtente;
 
Ciao :)

Non ho ben capito la tua rischiesta, ma anzitutto devo redarguirti per il fatto che utilizzi FrontPage :D

Scherzi a parte, ci sono 2 modi per aiutarti:
1 - Risolvere il problema utilizzando Front Page
2 - Risolvere il problema mettendo mano manualmente al codice ASP (il che comunque implica da parte tua una conoscenza minima dell'argomento, altrimenti sarebbe come aiutare qualcuno parlandogli in una lingua che non conosce)

Dimmi tu ;)
 
Ciao, grazie, se fosse possibile preferirei capire come modificare manualmente il codice generato da frontpage in modo da poter sfruttare la comodità di creazioni automatizzate che fanno risparmiare un bel pò di tempo ma riuscendo a personalizzarle a 360°.
Pensi di potermi aiutare?
 
Ok, se hai frontpage ed esegui la "creazione guidata interfaccia databse" puoi personalizzare la pagina risultati cliccando 2 volte sull'area gialla, cosicchè si possa inserire una query come quella che ho indicato precedentemente; tuttavia ciò che non so come modificare è la ripetizione inutile di righe riferite ad uno stesso utente per ogni commento da lui inserito.
Quindi se io ho 2 tabelle :
Utenti (IdUtente, Nome)
Commenti (IdComm, Data, Comm, IdUtente)

vorrei :

Utente 1
-----------------
Comm 1
Comm 2
Comm 3
-----------------

Utente 2
-----------------
Comm 1
Comm 2
-----------------

Utente 3
-----------------
Comm 1
Comm 2
Comm 3
Comm 4
 
Salve Prof, mi scusi per l'immenso ritardo, sono stato e sono sepolto di lavoro!

Ho trovato la query di esempio che mi inviò in privato nei giorni scorsi:

SELECT Utenti.IDUtente, Utenti.Nome, Registrazioni.Data, Registrazioni.Commento FROM Utenti INNER JOIN Registrazioni ON Utenti.IDUtente = Registrazioni.IDUtente

Mi pare io l'abbia un po modificata.

Aggiunga semplicemente:

GROUP BY Utenti.IDUtente

Quindi:

SELECT Utenti.IDUtente, Utenti.Nome, Registrazioni.Data, Registrazioni.Commento FROM Utenti INNER JOIN Registrazioni ON Utenti.IDUtente = Registrazioni.IDUtente GROUP BY Utenti.IDUtente

Ci faccia sapere!
 
Salve, nonostante avessi già provato questa alternativa ci ho riprovato ancora una volta ma l'esito è sempre negativo; per prima cosa compare il seguente messaggio :

Tipo di errore:
Microsoft JET Database Engine (0x80040E21)
Impossibile eseguire una query che non include l'espressione "Nome" specificata come parte di una funzione di aggregazione.

Così aggiungo "Nome", ma l'errore resta in quanto poi manca "Data" e così via finchè in pratica non si inseriscono tutti i campi presenti nell'espressione con il risultato che resta praticapente identico a prima!!!

Riusciremo a risolvere l'enigma?
Spero di si;
intanto ringrazio anticipatamente chiunque si interessi a questo problema e mi cerchi di aiutare con qualunque idea possibile.
 

Discussioni simili