2010-09-09 5 views
0

J'ai deux tables. Une table est nommée "Posts", l'autre est "Threads". Chacun d'entre eux a 3 colonnes nommées (id, auteur, contenu). La table Posts a une colonne spécifique (thread). La colonne de thread doit correspondre à l'ID dans la table Threads. Ce que j'essaie de faire est de faire une requête qui va sélectionner le fil, et tous ses messages, et normaliser les champs qui en résultent. Voici ce que je veux générer:Tables de jointure, - Champs de normalisation

auteur | contenu


Personne | Ceci est le contenu du fil
Personne | Ce serait un post.
Personne | Et un autre message.

Répondre

0

"Normaliser les champs résultants"? Je ne suis pas sûr de ce que vous voulez dire par là. Aussi vous vous êtes contredit en disant que les deux ont trois champs, mais que Posts a un quatrième champ (clé étrangère à Threads)?

Aussi, vous voulez vraiment ne probablement pas le faire dans une requête (il serait loin d'être « normalisée »

SELECT * FROM Threads WHERE id = @id 
SELECT * FROM Posts WHERE thread = @threads 

Alternativement,

SELECT * FROM Posts LEFT JOIN Threads ON Posts.thread = Thread.id WHERE Posts.thread = @thread 
+0

Pas exactement ce que je cherchais. Quand j'ai dit normaliser, je voulais dire que le contenu/l'auteur du sujet, et le contenu/auteur du message auraient le même nom de colonne, mais sur des lignes séparées. – Q2Ftb3k

Questions connexes