将多对一关系的多方面结合到一个领域?

时间:2015-06-16 13:21:46

标签: sql sqlite

两个表:select * into variable from duallet url = NSURL(string: "http://www.stackoverflow.com") let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in if (error?.userInfo?["NSLocalizedDescription"] as? String) == "cancelled" { return } println(NSString(data: data, encoding: NSUTF8StringEncoding)) } task.resume() 。一本书可以有很多作者,就像短篇小说选集一样。

books

作者

authors

books_authors_link

id    |    title
--------------------
1        The Time Machine Did It
2        Snakes in Suits
3        Ghost in the Wires

我想做的是返回一张表格,其中每一行都是一本书,而“作者”则是这样做的。 field是所有作者的逗号分隔列表,例如

查询结果

id    |    name
------------------------
1        Stephen King
2        John Swartzwelder
3        Robert D. Hare
4        Kevin Mitnick
5        William L. Simon
6        Steve Wozniak
7        Paul Babiak

我一直在玩book_id | authors_id --------------------------- 1 2 2 3 2 7 3 4 3 5 3 6 和连接功能,我知道答案就在那里,但我无法理解它。我可以通过在我的程序本身中处理数组和字符串连接来实现它,但这并不是我想要的优雅解决方案。这里的提示将不胜感激。

我使用SQLite 3,如果它依赖于系统。

1 个答案:

答案 0 :(得分:0)

您必须逐个加入这两个表,并在作者姓名列上应用group_concat

该功能的官方文档是here

here´s another example I´ve found in stackoverflow