sqlite,按 date/integer 加入 table

sqlite, order by date/integer in joined table

我有两个table

名字

id | name
---------
5  | bill
15 | bob
10 | nancy

条目

id | name_id | added    | description
----------------------------------
2  | 5       | 20140908 | i added this
4  | 5       | 20140910 | added later on
9  | 10      | 20140908 | i also added this
1  | 15      | 20140805 | added early on
6  | 5       | 20141015 | late to the party

我想按 Entries table 中数值最低的第一个 added 值对 Names 进行排序,并显示来自 Entries 的行=32=]s 总体上按 added 列排序,因此结果将类似于:

names.id | names.name | entries.added | entries.description
-----------------------------------------------------------
15       | bob        | 20140805      | added early on
5        | bill       | 20140908      | i added this
10       | nancy      | 20140908      | i also added this

我查看了第一个项目的连接(例如 SQL Server: How to Join to first row),但无法让它工作。

有什么建议吗?

试试这个查询:

SELECT Names.id, Names.name, Entries.added, Entries.description 
FROM Names 
INNER JOIN Entries 
ON Names.id = Entries.name_id 
ORDER BY Entries.added

如果您希望以相反的顺序添加 DESC,即:ORDER BY Entries.added DESC.

应该这样做:

SELECT n.id, n.name, e.added, e.description 
FROM Names n INNER JOIN
     (SELECT name_id, description, Min(added) FROM Entries GROUP BY name_id, description) e
     ON n.id = e.name_id 
ORDER BY e.added