J'ai donc appris comment faire un encart groupé en utilisant les données d'une table en tant qu'utilisateur d'une autre table. Maintenant, j'ai essayé de faire la même chose mais j'ai une erreur SQL (ite). J'ai pris une estimation de la syntaxe et je me suis trompé. Après l'insertion en vrac dans l'abonnement, je veux ajouter 1 à chacun des médias compte des utilisateurs. J'ai une erreur de jointure à gauche. Comment puis-je le corriger?Mise à jour groupée de SQL, un incrément de champ
-edit- Je n'ai pas encore résolu ce problème. S'il vous plaît aider.
NOTE: J'utilise ATM sqlite mais je suis passer à MySQL ou MS SQL
void updateMediaForSubscribers(long userId, long mediaId, Media_Base.Catagory cat, DateTime currentDate)
{
command.CommandText =
"INSERT INTO user_media_subscription (recipientId, mediaId, catagory) " +
"SELECT watcher, @mediaId, @category " +
"FROM user_watch WHERE [email protected];";
command.Parameters.Add("@mediaId", DbType.Int64).Value = mediaId;
command.Parameters.Add("@category", DbType.Int64).Value = cat;
command.Parameters.Add("@watched", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
//near "LEFT": syntax error
command.CommandText =
"UPDATE user_data SET mediaMsgCount=mediaMsgCount+1 " +
"LEFT JOIN user_watch AS w ON w.watcher=user_data.userId " +
"WHERE [email protected];";
command.Parameters.Add("@watched", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
}
externe rejoindre!?! la jointure gauche est une jointure externe? J'ai copié collé votre code et j'obtiens une erreur près de FROM (syntaxe). J'ai changé user_data u à user_data AS et toujours pas de chance. Il semble que je ne peux pas utiliser FROM après SET. J'utilise actuellement SQLite qui utilise à peu près la même syntaxe. Je me demande ce qui est incorrect à ce sujet? J'ai pris une conjecture complète quand j'ai écrit l'original. –