美好的一天
我有一张包含所有数据的表格。在列Products中,有链接到索引表的值,但它不是具有单个值,而是具有多个值,即 900;190;170。如果它是单个值,我只需在列Products上的两个表之间使用Left Join。有没有办法将它与多个值链接起来? 900 = 其他,190 = 书籍,170 = 笔。另一个问题是它可以是 Product 列中任意数量的值。
谢谢 阮
-- create a table
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name varchar(20) NOT NULL
);
CREATE TABLE productsIndex (
indexName varchar(120) NOT NULL,
itemIndex varchar(20) NOT NULL
);
-- insert some values
INSERT INTO products VALUES (900, 'Books');
INSERT INTO products VALUES (800, 'Other');
INSERT INTO products VALUES (190, 'Pen');
-- insert some values
INSERT INTO productsIndex VALUES ('900;190;170', 'test');
INSERT INTO productsIndex VALUES ('800;100', 'test2');
SELECT p.* ,pi.itemIndex
FROM products p
join productsIndex pi
on p.id in (SELECT value FROM STRING_SPLIT(pi.indexName, ';'))