From e2ad443425f49b1f9ce2eb0aed353c4fbb53eb54 Mon Sep 17 00:00:00 2001
From: PavelBegunkov <asml.Silence@gmail.com>
Date: Mon, 4 May 2015 18:08:57 +0300
Subject: [PATCH] queries for student duplicates.

---
 db/duplicate.sql | 49 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 db/duplicate.sql

diff --git a/db/duplicate.sql b/db/duplicate.sql
new file mode 100644
index 000000000..a1f2cff3e
--- /dev/null
+++ b/db/duplicate.sql
@@ -0,0 +1,49 @@
+# Выборка всех студентов, с повторяющимися именами
+SELECT distinct st1.*
+FROM students as st1
+WHERE (
+    SELECT count(*) from students as st
+    where CONCAT( st.LastName, st.FirstName, st.SecondName )
+        LIKE CONCAT( st1.LastName, st1.FirstName, st1.SecondName)
+    ) > 1
+ORDER BY LastName
+
+
+# выборка всех оценок для студента (с учетом повторений)
+SELECT students.ID AS  "StudentID", students.LastName, rating_table . *
+    FROM students
+    LEFT JOIN rating_table ON rating_table.StudentID = students.ID
+    WHERE CONCAT( students.LastName, students.FirstName, students.SecondName ) LIKE (
+        SELECT CONCAT( st.LastName, st.FirstName, st.SecondName )
+        FROM students AS st
+        WHERE st.id =133
+    )
+ORDER BY SubmoduleID
+
+
+
+# студенты, повторно привязанные к дисциплинам
+SELECT students.ID as "StudentID",
+        students.LastName,
+        disciplines_students.ID as "disciplines_studentsID"
+FROM students
+left join disciplines_students on disciplines_students.StudentID = students.ID
+WHERE CONCAT( students.LastName, students.FirstName, students.SecondName) LIKE (
+        SELECT CONCAT( st.LastName, st.FirstName, st.SecondName )
+        from students as st
+        where st.id = 133
+    )
+
+
+# дублирование оценок
+SELECT distinct st1.*, rating_table.SubmoduleID, count(*) as "cnt"
+FROM students as st1
+LEFT JOIN rating_table on rating_table.StudentID = st1.ID
+WHERE CONCAT( st1.LastName, st1.FirstName, st1.SecondName ) LIKE (
+        SELECT CONCAT( st.LastName, st.FirstName, st.SecondName )
+        FROM students AS st
+        WHERE st.id = # studentID
+    )
+GROUP BY st1.LastName, rating_table.SubmoduleID
+ORDER BY cnt desc
+
-- 
GitLab