Je veux vérifier la validation de l'identifiant en double dans le serveur SQL, cette grille de validation s'affiche numéro de ligne, message de validation et identifiant en double du serveur SQL
Je ne comprends pas comment puis-je faire?
L'aide est vraiment appréciée
Créer une table p >
Insert into Tbl_Student(RowID,StudentID) values (1,101) Insert into Tbl_Student(RowID,StudentID) values (2,102) Insert into Tbl_Student(RowID,StudentID) values (3,101) Insert into Tbl_Student(RowID,StudentID) values (4,102) Insert into Tbl_Student(RowID,StudentID) values (5,103)
Insérer des enregistrements
CREATE TEMPORARY TABLE IF NOT EXISTS Tbl_Student
(RowID INT PRIMARY KEY auto_increment, StudentID BIGINT);
S'il vous plaît laissez partager si une solution là-bas
Merci
4 Réponses :
Voici le code T-SQL, vous devrez peut-être le transformer au format MySql:
Select * from(
Select RowId, Count(*) Over(Partition By StudentId Order By RowId) as Cnt From [YourTable]
) as K
Where Cnt>1
Vous pouvez également utiliser Row_Number ou Count code> fonction d'agrégation pour obtenir le même résultat également.
Voici de nombreuses solutions MySql pour ce problème:
Pour afficher les doublons, je ferais:
select
RowID,
concat('Student ', StudentID, ' is duplicate') as StudentID
from Tbl_Student where StudentID in (
select StudentID from Tbl_Student group by StudentID having count(*) > 1
)
Essayez la requête suivante,
SELECT RowID, CONCAT('StudentID ',StudentID, ' is Duplicate) AS Error FROM Tbl_Student WHERE StudentID IN (SELECT StudentID FROM Tbl_Student GROUP BY StudentID HAVING COUNT(*) > 1)
Vous pouvez utiliser une jointure sur la requête dont le nombre d'ID strundet> 1
select id, student_id, concat('Stundent id' , student_id, ' is duplicated')
from my_table m
inner join (
select student_id
from my_table
group by student_id
having count(*) > 1
) t on t.student_id = m.student_id
C'est la syntaxe mysql
@GordonLinoff si une solution est disponible, vous pouvez partager la syntaxe du code de serveur SQL
Aucune prévention non applicable ici, je dois afficher le message de validation uniquement pour studentId
dans votre échantillon 101 n'est pas dupliqué .. expalin mieux
Double possible de Recherche de valeurs en double dans une table SQL