Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686

Найти совпадения записей в двух базах SQLite3

10.01.2022, 16:41. Показов 2226. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Надо найти совпадения в двух базах.
Написал код. Выскакивает ошибка
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sqlite3
 
base = sqlite3.connect('home_name .db')
cur = base.cursor()
x = cur.execute('SELECT home_courses FROM home_name').fetchall()
print(x, '\n\n\n')
 
base = sqlite3.connect('folding_courses .db')
cur = base.cursor()
y = cur.execute('SELECT clubbing_on_courses FROM course_name').fetchall()
print(y, '\n\n\n')
 
for user in y:
        for item in user:
            for i in x:
                exist = "{}".format(i[0]) in item
                if exist == True:
                    await ctx.send('Найдено совпадение {}'.format(i[0]))
Ошибка
Code
1
Unresolved reference 'ctx' 18
Как исправить ошибку. Прошу помощи.

Добавлено через 57 минут
По такому коду пишет что нет такой таблицы. И что делать? Прошу помощи.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import sqlite3 as sq
 
with sq.connect("home_courses.db") as con:
    cur = con.cursor()
 
    x = cur.execute('SELECT home_name FROM home_courses').fetchall()
    print(x, '\n\n\n')
 
#base = sqlite3.connect('folding_courses .db')
#cur = base.cursor()
y = cur.execute('SELECT clubbing_on_courses FROM course_name').fetchall()
print(y, '\n\n\n')
 
for user in y:
    for item in user:
        for i in x:
            exist = "{}".format(i[0]) in item
Ошибка
Code
1
sqlite3.OperationalError: no such table: home_courses
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2022, 16:41
Ответы с готовыми решениями:

Найти совпадения по номеру документа из двух массивов
Добрый день. Никогда не думала, что придется просить помощи по экселю, обычно проблем не было. Тем не менее. Есть вполне реальная задача...

Найти совпадения дата/логин в 2 таблицах и вывести рядом факт совпадения
Коллеги, задачка следующая: Дана таблица (A-B-C) с указанием логина сотрудника и периода его отпуска, рядом дана таблица (H-I) фактов...

Найти совпадения по столбцу в двух разных таблицах по двум и более критериям и подставить нужное значение
Здравствуйте, уважаемые форумчане. Очень нужна Ваша помощь. Есть две таблицы на разных листах, нужно сравнить их на совпадения и если...

28
10.01.2022, 16:44

Не по теме:

vlad56, структуру БД, конечно, не покажу - гадайте!

0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
10.01.2022, 16:48
Цитата Сообщение от vlad56 Посмотреть сообщение
И что делать?
запросить ту таблицу что существует. не благодари
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 16:51  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
структуру БД, конечно, не покажу - гадайте!
Вот так создал первую базу в другое программе
Python
1
2
3
4
5
6
7
def write_sqlite3(data):
    base = sqlite3.connect('home_name .db')
    cur = base.cursor()
 
    base.execute(
        'CREATE TABLE IF NOT EXISTS home_courses  (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, home_name TEXT NOT NULL UNIQUE)')
    base.commit()
Вот так вторую. Тоже в другом модуле.
Python
1
2
3
4
5
6
7
ef write_sqlite3(data):
    base = sqlite3.connect('folding_courses .db')
    cur = base.cursor()
 
    base.execute(
        'CREATE TABLE IF NOT EXISTS clubbing_on_courses  (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, course_name TEXT NOT NULL UNIQUE, author TEXT NOT NULL)')
    base.commit()
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 16:54  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
запросить ту таблицу что существует. не благодари
А как узнать какие существуют. Вот я вижу так

0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 16:58  [ТС]
И ещё так
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.01.2022, 17:10
Цитата Сообщение от vlad56 Посмотреть сообщение
base = sqlite3.connect('home_name .db')
Цитата Сообщение от vlad56 Посмотреть сообщение
with sq.connect("home_courses.db") as con:
Цитата Сообщение от vlad56 Посмотреть сообщение
base = sqlite3.connect('home_name .db')
Что за ерунда с именами баз?
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 17:13  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Что за ерунда с именами баз?
Пробую и так и этак. Так как везде ошибка. Как можно ещё попробовать, чтобы заработало?
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.01.2022, 17:15
Цитата Сообщение от vlad56 Посмотреть сообщение
Как можно ещё попробовать, чтобы заработало?
Как выше Ув. Welemir1 писал:
Цитата Сообщение от Welemir1 Посмотреть сообщение
запросить ту таблицу что существует.
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 17:46  [ТС]
А как узнать какая существует? Я вижу и ту и другую.

Добавлено через 2 минуты
На скриншотах видно.

Добавлено через 26 минут
Сделал такой запрос. Та же ошибка.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sqlite3 as sq
 
with sq.connect("home_courses.db") as con:
    cur = con.cursor()
    cur.execute(''' SELECT count(name) FROM sqlite_master WHERE type='home_courses.db' AND name='home_name' ''')
    if cur.fetchone()[0] == 1: {print('Table exists.')}
        # x = cur.execute('SELECT home_name FROM home_courses').fetchall()
        # print(x, '\n\n\n')
 
#base = sqlite3.connect('folding_courses .db')
#cur = base.cursor()
y = cur.execute('SELECT clubbing_on_courses FROM course_name').fetchall()
print(y, '\n\n\n')
 
# for user in y:
#     for item in user:
         # for i in x:
        #     exist = "{}".format(i[0]) in item
            # if exist == True:
            # await ctx.send('Найдено совпадение {}'.format(i[0]))
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.01.2022, 17:53
Вот ты пишешь:
Цитата Сообщение от vlad56 Посмотреть сообщение
Вот так создал первую базу в другое программе
Цитата Сообщение от vlad56 Посмотреть сообщение
base = sqlite3.connect('home_name_.db')
А читаешь с:
Цитата Сообщение от vlad56 Посмотреть сообщение
with sq.connect("home_courses.db") as con:
Где логика?
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 18:03  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Где логика?
home_name_.db оказалась пустой базой. Только что созданной программой. Удалил её.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
10.01.2022, 18:14

Не по теме:

О! Метод научного тыка в действии? Одобряю


1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 18:19  [ТС]
Так создаёт базы. А старые не видит. Что делать?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sqlite3 as sq
 
with sq.connect("home_name.db") as con:
    cur = con.cursor()
    cur.execute(''' SELECT count(name) FROM sqlite_master WHERE type='home_name .db' AND name='home_name' ''')
    if cur.fetchone()[0] == 1:
          x = cur.execute('SELECT home_name FROM home_name.db').fetchall()
          print(x, '\n\n\n')
 
with sq.connect("clubbing_on_courses.db") as con:
    cur = con.cursor()
    cur.execute(''' SELECT count(name) FROM sqlite_master WHERE type='clubbing_on_courses.db' AND name='course_name' ''')
    if cur.fetchone()[0] == 1:
         y = cur.execute('SELECT course_name FROM clubbing_on_courses').fetchall()
         print(y, '\n\n\n')
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.01.2022, 18:27
Цитата Сообщение от vlad56 Посмотреть сообщение
base = sqlite3.connect('home_name_.db')
Цитата Сообщение от vlad56 Посмотреть сообщение
base = sqlite3.connect('folding_courses .db')
Цитата Сообщение от vlad56 Посмотреть сообщение
with sq.connect("home_name.db") as con:
Цитата Сообщение от vlad56 Посмотреть сообщение
with sq.connect("clubbing_on_courses.db") as con:
Что с тобой не так? Или это такой рофл?
1
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 18:30  [ТС]
Поправка по имени второй базы
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sqlite3 as sq
 
with sq.connect("home_name.db") as con:
    cur = con.cursor()
    cur.execute(''' SELECT count(name) FROM sqlite_master WHERE type='home_name .db' AND name='home_name' ''')
    if cur.fetchone()[0] == 1:
          x = cur.execute('SELECT home_name FROM home_name.db').fetchall()
          print(x, '\n\n\n')
 
with sq.connect("folding_courses.db") as con:
    cur = con.cursor()
    cur.execute(''' SELECT count(name) FROM sqlite_master WHERE type='folding_courses.db' AND name='course_name' ''')
    if cur.fetchone()[0] == 1:
         y = cur.execute('SELECT course_name FROM folding_courses').fetchall()
         print(y, '\n\n\n')
Скриншот
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
10.01.2022, 18:32
vlad56, у тебя ничего не работает, потому что винда ворованная!!!
2
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
10.01.2022, 18:33
Цитата Сообщение от vlad56 Посмотреть сообщение
base = sqlite3.connect('folding_courses_.db')
Цитата Сообщение от vlad56 Посмотреть сообщение
with sq.connect("folding_courses.db") as con:
Кликните здесь для просмотра всего текста
Название: jonah-jameson-laugh.gif
Просмотров: 64

Размер: 287.0 Кб
2
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 18:38  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Что с тобой не так? Или это такой рофл?
Ни в коем случае. Базы в рабочей папке. Видно на скриншоте. Но когда открываю в программе DB Browser for SQLite folding_courses.db тогда получаю вот такое. Имя базы становиться clubbing_on_courses.db. И чему из этого верить я не понимаю. Прошу помощи.
0
9 / 7 / 2
Регистрация: 06.03.2012
Сообщений: 686
10.01.2022, 18:45  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Сообщение от vlad56
base = sqlite3.connect('folding_courses_.db')
Сообщение от vlad56
with sq.connect("folding_courses.db") as con:
С этими поправками новые базы уже не создаются. Уже прогресс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2022, 18:45
Помогаю со студенческими работами здесь

Изменение данных в двух базах
Хочу вставить значение столбца таблицы из одной базы в другую. Что неправильно подскажите? UPDATE A1 SET A1.t1466 = A2.fid_entity ...

Добавление записей в БД, с проверко на совпадения...
Всем доброго времени суток, помогите разобраться с такой проблемой: пытаюсь добавить запись в БД (BDE Paradox), как бы не пробывал, ни чего...

Найти совпадения в двух ListBox и занести их в третий Listbox
Всем привет! Ищу способ ускорить процесс поиска совпадений в двух ListBox и в случае совпадения, занести их в третий Listbox, так как...

Сравнение наличия одинаковых (по имени) форм в двух разных базах
Дали внести правки в базу с большим числом объектов (2-3 значные числа), база разделенная, т.е. табличный файл отдельно, с ним все ок. Я...

Изменение данных по условию наличия совпадения записей
Здравствуйте, есть запрос на две таблицы вида. select t.god,t.mes,t.atp,t.tab,t.kat,t.vo,t.vr,s.shpz,t.sum,t.sumural from Z_SHPZ_FOND t,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru