2017-10-16 6 views
0

qui cherche à supprimer les enregistrements lorsque deux attributs de la même table sont identiques (% k1 =% k2).Supprimer les enregistrements où un attribut est égal à un autre dans les données de base

Exemple dans la table User, supprimez les enregistrements dont User.firstName == User.lastName. Remarque NSPredicate (format: "firstName! = LastName") ne permet même pas d'extraire des enregistrements.

Ressemble à une sorte d'auto-jointure, qui ne fonctionne pas de la même façon que les données de base, mais qui nécessite la suppression de ces enregistrements dans la même table. Toute aide à prédicats s'il vous plaît

+0

"Ne aide pas" - est-ce qu'il lance une erreur, ou ne va rien chercher, ou va chercher tout? – pbasdf

+0

récupère tous les enregistrements à supprimer. – mkumar

+0

Ce prédicat récupère les instances où elles ne sont pas égales. Vous voulez où ils sont * égaux, non? –

Répondre

0
  • Fetch toutes données.
  • Filtre let duplicates = users.filter { $0.firstName == $0.lastName }.
  • Supprimez les éléments trouvés.
+0

la recherche de supprimer des enregistrements avec le type de nspredicate ... de ne pas filtrer les données avant ou après l'extraction ... – mkumar

+0

Autant que je sache, vous ne pouvez pas faites cela avec un prédicat – vadian