|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|||||||||||
Python -> SQL . Сравнить таблицы, присвоить результат!?21.08.2018, 12:06. Показов 6277. Ответов 11
Ребят помогите разобраться, опишу задачу и с чем столкнулся.
ЗЫ Я новичок тапками не бросайте. Спасибо! ТЗ. Есть 3 таблицы в БД, Нужно что бы скрипт сравнивал Табл.1 с Табл.2 и разницу, если она есть записывал в Табл.3 Что получилось набросать у меня:
Подскажите хочу присвоить эту разницу к переменной , что бы записать в табл.3 !? Как понял, использовать cursor 2 раза нельзя ? Пробовал как-то так :
За любую подсказку, крепко жму руку ! pyhton 2.7/SQL Serv 2016 /Win10
0
|
|||||||||||
| 21.08.2018, 12:06 | |
|
Ответы с готовыми решениями:
11
результат запроса linq to sql содержит данные обеих таблиц, картографированных на классы. Я хочу результат присвоить в GridControl.DataSource
Присвоить переменной результат запроса sql |
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
||
| 21.08.2018, 12:43 | ||
|
0
|
||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
||||||||
| 21.08.2018, 13:06 [ТС] | ||||||||
<details> <summary>Ошибка</summary>cursor.execute("INSERT INTO control(plate) VALUES (%results)" %results) pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]\xe8\xe4\xe5\xed\xf2\xe8\xf4\xe8\xea\xe0 \xf2\xee\xf0, \xea\xee\xf2\xee\xf0\xfb\xe9 \xed\xe0\xf7\xe8\xed\xe0\xe5\xf2\xf1\xff \xf1 "(u\'\\u0410\\u041d 7375 \\u0421\\u0415\', ), (u\'\\u0410\\u041d 7376 \\u0421\\u0415\', ), (u\'\\u0410\\u041d 7377 \\u0421\\u0415\', ), (u\'\\u0410\\u", \xf1\xeb\xe8\xf8\xea\xee\xec \xe4\xeb\xe8\xed\xed\xfb\xe9. \xcc\xe0\xea\xf1\xe8\xec\xe0\xeb\xfc\xed \xe0\xff \xe4\xeb\xe8\xed\xe0 \xf1\xee\xf1\xf2\xe0\xe2\xeb\xff\xe5\xf2 128. (103) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]\xcd\xe5\xef\xf0\xe0\xe2\xe8\xeb\xfc\xed \xfb\xe9 \xf1\xe8\xed\xf2\xe0\xea\xf1\xe8\xf1 \xee\xea\xee\xeb\xee \xea\xee\xed\xf1\xf2\xf0\xf3\xea\xf6\xe8 \xe8 "esults". (102)') </details>
Как правильно обратиться к результату первого запроса ?
0
|
||||||||
|
|
|||||||||||||
| 21.08.2018, 13:53 | |||||||||||||
И зачем квадратные скобки вокруг имени полей в запросе? В MS SQL Server это вместо кавычек-апострофов?
0
|
|||||||||||||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
||||
| 21.08.2018, 14:09 [ТС] | ||||
|
Garry Galler,
Недопустимое имя объекта "master.dbo.SB".
Ушел читать, Спасибо за подсказки ! Результат отпишу Пиши для усвоение подкинул, СПАСИБО !
0
|
||||
|
|
||||
| 21.08.2018, 15:50 | ||||
|
Хотя, может ошибаюсь - я c MS Server не работал. У pyodbc есть wiki c документацией - на github рядом с исходниками. https://github.com/mkleehammer/pyodbc/wiki
0
|
||||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|||
| 21.08.2018, 16:34 [ТС] | |||
|
Garry Galler,
params = [ ('A', 1), ('B', 2) ] - не могу понять данную строку, values (?, ?) - (?) плейсхолдер ? executemany=("insert into control(plate) values (?)", results) - как вместо (?) подставить значение results?
0
|
|||
|
|
|||||||
| 21.08.2018, 16:54 | |||||||
|
Плейсхолдер это символ-заменитель (для чего используется - погуглите). При условии, что в results список кортежей и в кортеже только одно поле:
0
|
|||||||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|
| 21.08.2018, 17:20 [ТС] | |
|
Garry Galler,
print ( results ) выводит [(u'\u0410\u041d 7375 \u0421\u0415', ), (u'\u0410\u041d 7376 \u0421\u0415', ), (u'\u0410\u041d 7377 \u0421\u0415', ), (u'\u0410\u041d 7378', )] Но этот список может меняться в зависимости от обновление базы,results будет разный, Как тогда быть с params ? SELECT distinct plate FROM master.dbo.testdax WHERE 1=1 AND plate NOT IN (SELECT [plate] FROM [master].[dbo].[whitelist]) Выводит результат "смотри скрин". u'\u0410\u041d 7375 \u0421\u0415', - а что это за u ? Может дашь контакты ? я на пиво подкину, за помощь ?
0
|
|
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
||||||
| 22.08.2018, 16:17 [ТС] | ||||||
|
Garry Galler, Спасибо ! Получилось, разница двух таблиц падает в третью
![]() Буду копать дальше и дорабатывать, не очень разобрался с кортежами и params, но все впереди ![]() dondublon, Переделал на JOIN, Спасибо ![]()
0
|
||||||
|
2 / 1 / 2
Регистрация: 21.08.2018
Сообщений: 26
|
|
| 27.08.2018, 15:59 [ТС] | |
|
Ребят подскажите пожалуйста!
Что возвращается в results если результат SELECT запроса , пустая строка(совпадений в базе не найдено) !? if results != 0: <- Если в results есть значения, все работает как нужно. Когда результат пустой, он очевидно не "0" и до else не доходит. Спасибо ! Добавлено через 27 минут Разобрался) оказалось проще чем думал. if results != []: Можно я тут сам с собой поговорю? Мне так легче работать
0
|
|
| 27.08.2018, 15:59 | |
|
Помогаю со студенческими работами здесь
12
Переменно присвоить результат выполнения SQL скрипта Как sql-ой командой присвоить полю date первой таблицы значение поля date второй таблицы? Как можно сравнить две таблицы sql-ля? Результат нашего запроса из таблицы sql server Python. Интерфейс для SQL таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|