2010-10-12 3 views
1

Si un utilisateur a deletion le champ d'une valeur de 1 comment puis-je igonre tous les commentaires et les commentaires ayant des enfants avec les autres utilisateurs? Comment ma requête ressemblerait-elle?Question sur la conception de la requête MySQL

Voici mes tables MySQL

CREATE TABLE articles_comments (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
parent_comment_id INT UNSIGNED NOT NULL, 
user_id INT UNSIGNED NOT NULL, 
article_id INT UNSIGNED NOT NULL, 
comment TEXT NOT NULL, 
date_created DATETIME NOT NULL, 
PRIMARY KEY (id), 
KEY user_id (user_id), 
KEY article_id (article_id) 
); 

CREATE TABLE users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
username VARCHAR(255) NULL, 
password CHAR(128) NOT NULL, 
active CHAR(32), 
deletion TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 
PRIMARY KEY (user_id), 
UNIQUE KEY (username) 
); 

Répondre

0

votre requête initiale supposant était

Sélectionnez --- --- colonnes De --- --- tables Où --- clauses-- -

et --- tables --- inclus se joindre à la root_comment à la table des utilisateurs

par exemple articles_comments root_comment Rejoignez les utilisateurs root_user ON (root_comment.user_id = root_user.user_id)

puis ajouter une deuxième condition à la clause de

articles_comments root_comment Rejoignez les utilisateurs root_user ON (root_comment.user_id = root_user.user_id et root_user.deletion ! = 1)

Si ce n'est pas ce que vous voulez, pourriez-vous clarifier votre question?

+0

J'utiliserais root_user.deletion = 0 au lieu de! = 1 ... mais la même affaire – judda