使用两个 SQLite 表,示例如下。我想返回人的姓名及其年龄范围,而不是 rangeId。
SELECT t1.ageRange, t2.name
FROM Table1 t1
INNER JOIN Table2 t2
WHERE t1.rangeId = t2.ageRangeId
. . //This code does what I want, but is really inefficient and isn't scalable . Table1 _____________//table name rangeId : ageRange__ //column names 1 : 0 - 16 ___________//sample data 2 : 17 - 28 3 : 29 - 50 4 : 50+ . Table2 name : ageRangeId John : 2 David : 3 Karl : 2 Ben : 1
最佳答案
INNER JOIN 语法是
FROM Table1 INNER JOIN Table2 ON Table1.key=Table2.key
我做了一个 fiddle 。这就是您想要的:
SELECT t1.ageRange, t2.name
FROM Table1 t1
INNER JOIN Table2 t2
ON t1.rangeId = t2.ageRangeId
http://sqlfiddle.com/#!9/10c60f/2
问题是你的例子很简单,你的方法无法改进。你只需加入两张小 table 。有不同的方法可以做到这一点,但它们都是等效的
关于sqlite - 将数据作为其他表中的列返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37699727/