【发布时间】:2013-06-29 22:03:33
【问题描述】:
简而言之,我已经提供了数据,以及目前的结果,请告诉我如何进行最后一步。请使用 SQLite。
==书面解释==
想使用表 B 连接表 A 中的值,然后显示表 A 中的所有结果,即使是表 B 中没有值的结果。我尝试了一大堆变体,但我真的卡住了。
表格:
*user_tables*
_id table_name table_version table_status
---------- ---------- ------------- ------------
1 addresses 1 1
2 jobs 1 1
3 people 1 1
4 phones 1 1
*user_tables_depends*
_id user_table_id user_table_depend_id
---------- ------------- --------------------
1 1 2
2 1 3
3 2 1
4 2 4
5 4 2
当前查询:
SELECT table_name, table_version, table_status,
GROUP_CONCAT(dependName, ', ') AS table_dependencies
FROM user_tables JOIN
(SELECT user_table_id, table_name AS dependName
FROM user_tables_depends, user_tables
WHERE user_tables._id = user_table_depend_id)
WHERE user_tables._id = user_table_id
GROUP BY table_name
查询结果:
table_name table_version table_status table_dependencies
---------- ------------- ------------ ------------------
addresses 1 1 jobs, people
jobs 1 1 addresses, phones
phones 1 1 jobs
想要的结果:
table_name table_version table_status table_dependencies
---------- ------------- ------------ ------------------
addresses 1 1 jobs, people
jobs 1 1 addresses, phones
people 1 1
phones 1 1 jobs
注意:请不要担心值是什么,它们是虚拟数据,我只需要查询在 SQLite 中按需要工作即可。提前致谢,干杯。
【问题讨论】:
标签: android database sqlite group-concat nested-queries