SQLite从多个表中选择数据

时间:2016-03-13 11:17:44

标签: android sql database sqlite

我需要从多个表中获取数据,但无法对其进行查询。在这方面的任何帮助将不胜感激。已经发布了一些关于如何从多个表中获取数据的问题,但不知怎的,我无法抓住这种查询背后的概念。因此,我发帖询问是否有人可以通过以下详细信息为我构建查询:

表格

CREATE TABLE users(id INTEGER PRIMARY KEY,user_name TEXT)
CREATE TABLE category(id INTEGER PRIMARY KEY,name TEXT,user_id INTEGER)
CREATE TABLE item(id INTEGER PRIMARY KEY,name TEXT,category_id INTEGER)
CREATE TABLE Used(id INTEGER PRIMARY KEY,frequency REAL,item_id INTEGER)

用户可能有多个类别,每个类别可能有多个项目,每个项目可能有多个使用频率。

我想选择以下内容:

  • 用户的所有类别
  • 这些类别的所有项目
  • 这些项目的所有频率

感谢。

1 个答案:

答案 0 :(得分:1)

所以你想要这样的东西:

SELECT u.user_name,c.name,i.name,used.frequency
FROM users u
LEFT OUTER JOIN category c 
 ON(u.id = c.user_id)
LEFT OUTER JOIN item i
 ON(i.category_id = c.id)
INNER JOIN Used
 ON(i.id = used.item_id)
WHERE u.user_id = YOUR_USER_HERE