如何从第一个表中的1个表和第二个表中的列中选择一个列

时间:2013-12-06 18:41:50

标签: mysql sql sqlite

所以我有一个表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');

2 个答案:

答案 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;