после запуска кода появляется ошибка(ошибка ниже под кодом)
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'
...