Je ne suis pas à l'aise sur les requêtes SQL, mais j'essaie de créer une requête pour supprimer les données (commentaires rapportés) basées sur une jointure à une autre table (utilisateur) en utilisant un ID correspondance, voici un exemple de schéma ci-dessous:La suppression de l'ID de données SQL Server n'existe pas
create table tbl_reported_comment(id int, commentId int, reported_by_userid int);
insert tbl_reported_comment values
(1, 1, 101),
(2, 2, 131),
(3, 3, 101),
(4, 4, 101),
(5, 5, 24),
(6, 6, 201),
(7, 7, 1),
(8, 8, 24),
(9, 9, 23),
(10, 10, 16),
(11, 11, 31);
Create table tbl_user(userId int, Username varchar(50));
insert tbl_user values
(1, 'admin'),
(101, 'test1'),
(131, 'test2'),
(24, 'test3'),
(201, 'test4');
ce que je suis en train de réaliser dans ce cas est la suivante:
Retirez toutes les données dans la table tbl_reported_comment où la colonne [reported_by_userid] n'existe pas en tant que [userId] dans l'utilisateur Table
Voici un lien vers le SQLFIDDLE avec ce schéma exemple: SQLFiDDLE. J'utilise SQL Server comme base de données.
Un grand merci,
La bonne façon de structurer votre base de données serait d'avoir une [clé étrangère] (http: // msdn .microsoft.com/fr-fr/library/ms175464 (v = sql.105) .aspx), ce qui rend la situation que vous êtes confronté à _impossible_. Une grande partie du but d'une base de données est d'assurer l'intégrité du référentiel et des données, c'est-à-dire qu'il est impossible que vos données soient erronées. – Ben