после запуска кода появляется ошибка(ошибка ниже под кодом)

import mysql.connector

my_db = mysql.connector.connect(
    host='localhost',
    port='3306',
    user='root',
    password='root',
    database='simple'
)
myCur = my_db.cursor()

hjg = 'SELECT users.login, items.category FROM orders ' \
      'JOIN users in orders.user_id = users.id ' \
      'JOIN items in orders.item_id = items.id'
myCur.execute(hjg)
pes = myCur.fetchall()
print(pes)

Ошибка: mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'in orders.user_id = users.id JOIN items in orders.item_id = items.id' at line 1


Ответы (1 шт):

Автор решения: 4500zenja

Если изучить спецификацию оператора JOIN в SQL, то легко заметить, что он используется именно с ON, не с IN. У Вас же, судя по коду, используется форма JOIN ... IN ..., что не является верным.

Для решения предлагаю заменить IN на ON — в таком случае данная ошибка должна исчезнуть:

...
hjg = 'SELECT users.login, items.category FROM orders ' \
      'JOIN users ON orders.user_id = users.id ' \
      'JOIN items ON orders.item_id = items.id'
...
→ Ссылка