Datagrip правильно выполняет запрос, но Python (sqlalchemy) пропускает некоторые условия - PullRequest
0 голосов
/ 15 апреля 2019

У меня проблема с Python, выполняющим мои SQL-запросы с использованием sqlalchemy.

У меня есть несколько таблиц, которые содержат различную информацию о моих товарах. Одна таблица содержит идентификатор продукта, идентификатор категории и некоторую другую информацию о продукте Другая таблица содержит всю информацию о продуктах.

Таблица категорий используется для хранения всей информации о верхней категории, подкатегории и самой категории (она предназначена для интернет-магазина).

Это часть кода, которая выполняет присоединение:

   LEFT JOIN products AS p ON pc.product_id = p.id
   LEFT JOIN categories AS c ON p.category_id = c.id
   LEFT JOIN categories AS c_top ON c.top_parent_id = c_top.id
   LEFT JOIN categories as sub ON c.parent_id = sub.id

Я пытаюсь получить определенный список элементов, поэтому я хочу отфильтровать некоторые элементы, используя их подкатегорию (sub.id) и идентификатор категории (c.id). Я делаю это, используя это:

 AND sub.id not in (2837, 8225, 5681, 5693, 3773, 5714, 4901, 5792, 4943, 9133, 5801, 7370, 8183, 6779, 3515, 4175,9086, 4541, 3419, 5096, 82, 124, 1604, 5054, 11615, 3326, 1598, 7931, 5135, 1505, 10971, 10607,8243, 390, 10346, 3380, 7958, 8195)

Допустим, я хочу запросить элемент из подкатегории 82 в моей консоли Datagrip, я не получил результатов. Но как только я сохраняю этот запрос и использую его внутри Python, используя sqlalchemy, чтобы получить эти результаты, он каким-то образом игнорирует некоторые числа из моего фильтра условий, и они попадают в мой фрейм данных. Почему это происходит?

...