我一直在寻找下表所需的预期输出。我已经附加了两个表的查询以完成数据和结构。
问题是items和sellers表的列名都有一个同名列(NAME)所以如果我尝试加入,那么我会得到歧义错误
CREATE TABLE sellers (
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
rating INTEGER NOT NULL
);
CREATE TABLE items (
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
sellerId INTEGER REFERENCES sellers(id)
);
INSERT INTO sellers(id, name, rating) VALUES(1, 'Roger', 3);
INSERT INTO sellers(id, name, rating) VALUES(2, 'Penny', 5);
INSERT INTO items(id, name, sellerId) VALUES(1, 'Notebook', 2);
INSERT INTO items(id, name, sellerId) VALUES(2, 'Stapler', 1);
INSERT INTO items(id, name, sellerId) VALUES(3, 'Pencil', 2);
我们如何实现预期产出,如下所述
Item Seller
----------------
Notebook Penny
Pencil Penny
答案 0 :(得分:0)
试试这个:
select a.id,a.name,b.name as seller
from
items a
left join
sellers b
on a.sellerid = b.id;
如果需要澄清,请告诉我。
答案 1 :(得分:0)
SELECT i.name Item, s.name Seller
FROM items i
INNER JOIN sellers s ON s.Id = i.sellerId
WHERE s.name = 'Penny'
使用JOIN。