2015-01-19 6 views
1

Я пытаюсь выяснить, есть ли учителя с повторяющимися инициалами. Я попытался сделать это, возвратив одно значение из файла базы данных с поиском инициалов. Затем возвращаем все значения с искомыми инициалами. Затем я хотел проверить первое значение по сравнению со вторым, и если они не равны, то должен быть дубликат.Получение нескольких значений из инструкции SQL

Есть ли способ сделать это, и есть ли более простой способ сделать это?

Благодаря

def FindTeacherID(TeacherInitials): 
     with sqlite3.connect("TeacherInfo.db") as db: 
       cursor = db.cursor() 
       cursor.execute("select TeacherID from TeacherInfo where TeacherInitials = ?",(TeacherInitials,)) 
       Value = cursor.fetchone() 
       cursor.execute("select TeacherID from TeacherInfo where TeacherInitials =?",(TeacherInitials,)) 
       ValueTest = cursor.fetchall() 
       if Value == None: 
        print("There are no teachers in the list") 
       else: 
        Value = str('.'.join(str(x) for x in Value)) 
        ValueTest = str('.'.join(str(x) for x in Value)) 
        if ValueTest == Value: 
         DeleteTeacher(Value) 
        else: 
         print("There is a duplicate in teacher initials") 
+0

Что 'предполагается DeleteTeacher' делать? Поиск повторяющихся инициалов прост, но это зависит от того, что вы пытаетесь сделать с ним ... –

+0

'DeleteTeacher' пытается найти повторяющиеся инициалы, чтобы пользователь мог выбрать, какого учителя они хотят удалить. – Ben

ответ

1

Просто используйте только один запрос, где вы получите счет:

cursor.execute("select Count(TeacherID) from TeacherInfo where TeacherInitials = ?",(TeacherInitials,)) 
+0

Спасибо, что сработало! :) – Ben

Смежные вопросы