Python Sqlite, как распечатать данные из другой таблицы, используя внешний ключ? - PullRequest
0 голосов
/ 21 марта 2019

Я новичок в sqlite на python и не могу понять, почему внешний ключ не работает?Что мне нужно сделать?Я хочу напечатать детали из другой таблицы!помогите!

c.execute("PRAGMA foreign_keys = ON")

c.execute('''CREATE TABLE IF NOT EXISTS Staff
(staff_id integer UNIQUE,
staff_name text,
staff_DOB date,
staff_gender text,
Primary Key(staff_id)
)
''')

c.execute('''CREATE TABLE IF NOT EXISTS Clients
(client_id integer UNIQUE,
client_name text,
client_DOB date,
client_gender text,
staff integer,
Primary Key(client_id),
FOREIGN KEY(staff) REFERENCES Staff(staff_id)
)
''')

c.execute('''INSERT INTO Staff (staff_name,staff_DOB,staff_gender) VALUES ("joe","24/09/1999","male")''')

c.execute('''INSERT INTO Clients (client_name,client_DOB,client_gender, staff) VALUES ("sarah","12/09/2001","female",1)''')

c.execute("SELECT staff_name FROM Clients")
data = c.fetchone()
print(data)

1 Ответ

0 голосов
/ 22 марта 2019

Вам нужно будет JOIN таблицы по внешнему ключу.

Например:

SELECT
t1.*,
t2.staff_name
FROM Clients t1
LEFT JOIN Staff t2
ON (t2.id = t1.staff);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...