Comment puis-je sélectionner une paire de valeurs dans ma table si une valeur est égale à une autre avec une sous-chaîne concaténée? J'ai une table SQL Server qui contient des cartes de balayage de bibliothèque, une maquette est montrée ici.SQL Server Sélectionner les paires de valeurs de la table si la paire de valeurs existe (définie par une sous-chaîne)
Name Status Activation_Date
John_Doe Active 1-1-2015
Jane_Smith Inactive 2-2-2014
Jane_Smith_1 Active 1-2-2015
Dans ce tableau, lorsqu'un patron perd son/sa carte, l'ancienne carte est désactivée et une nouvelle carte est créée. Le nom est la clé primaire, donc depuis que la clé précédente est utilisée, un suffixe "_1" est ajouté.
Je voudrais que mes résultats montrent l'enregistrement pour "Jane_Smith" et aussi "Jane_Smith_1".
Ceci est très pauvre conception de schéma. Que se passe-t-il quand vous avez un «John Smith» et un «John Smithson», où un vrai nom correspond à l'autre d'un individu différent? –
Ou encore plus ridicule ce qui se passe quand vous avez John Smith et une autre personne qui a le même nom obtient une carte? Est-ce que ça devient John_Smith_1? Comment savez-vous que ce n'est pas le même John Smith? –
Et que se passe-t-il si Jhon perd sa carte 10 fois? le tri par chaîne devient fou. –