所以我有一个表Item,itemPicked和person。这是我的代码。我想挑选选鞋的人的名字(item_id 2)以及他们在什么时候这样做。抱歉我的错误,因为我开始学习SQL只有几天了。或者如果有类似的东西,但我不知道如何正确地询问如何找到它。
我的预期输出应为:
person8 04/05/2003
person9 01/11/2011
CREATE TABLE item(
itemid INTEGER PRIMARY KEY,
item_name TEXT );
CREATE TABLE itemPicked(
person_id INTEGER PRIMARY KEY,
item_id INTEGER,
picked_at TEXT);
CREATE TABLE person(
personid INTEGER PRIMARY KEY,
person_name TEXT);
INSERT INTO item
VALUES
(1, 'box'),
(2, 'shoe'),
(3, 'flower');
INSERT INTO itemPicked
VALUES
(8, 2, '04/05/2003),
(9, 2, '01/11/2001'),
(10, 1, '11/11/2011');
INSERT INTO person
VALUES
(1, 'person1'),
(2, 'person2'),
(3, 'person3'),
(4, 'person4'),
(5, 'person5'),
(6, 'person6'),
(7, 'person7'),
(8, 'person8'),
(9, 'person9'),
(10, 'person10');
答案 0 :(得分:0)
使用SQL连接加入两个表
SELECT p.person_name, i.picked_at
FROM person AS P
INNER JOIN itemPicked AS i
ON i.person_id = p.personid
答案 1 :(得分:0)
简单的JOIN可以解决这个问题
select
p.person_name,
ip.picked_at
from person p
join itemPicked ip on p.personid = ip.person_id
where ip.item_id = 2;