使用值数组而不是表执行JOIN操作

时间:2018-08-09 09:25:12

标签: sqlite android-sqlite

在SQLite中可能吗?还是使用JOIN创建表绝对必要?

类似的东西

SELECT columns
FROM table1 
INNER JOIN (**table from array** as table2)
ON table1.column = table2.column;

修改

示例数组为[0,1,2,3,4,5]。这将代表我要加入的单列值表。对于我来说,仅为了使用JOIN运算符而创建一个一次性表似乎是不合逻辑的。

根据Shawn的要求,以下是一些示例用法:

表1架构:

CREATE TABLE table1
    ("ID" INTEGER, "Date" TEXT, "Name" TEXT);

表1数据:

INSERT INTO table1
    ("ID", "Date", "Name")
VALUES
    (1, '2012', 'Tom'),(2, '2012', 'Peter'),
    (3, '2012', 'Harry'),(4, '2013', 'Jack'),
    (5, '2014', 'Megan'),(6, '2014', 'Zack'),
    (7, '2015', 'Sara'),(8, '2017', 'Michael'), 
    (9, '2017', 'Jim'),(10, '2017', 'Francis'),
    (11, '2019', 'Thomas'),(12, '2020', 'Emily')
;

所需查询:

SELECT GROUP_CONCAT(x.Name) as 'Names'
FROM table1 
INNER JOIN (["2018", '2017', '2014', '2013, '2012', '2011',....] as table2)
ON table1.Date = table2;

预期结果:

2012: Tom,Peter
2013: Jack
2014: Megan,Zack
2015: Sara
2017: Jim
2019: Suhayb

提琴:Click here

0 个答案:

没有答案