总之,我已经提供了数据,以及目前的结果,请告诉我如何做最后一步。请使用 SQLite。
== 书面说明 ==
想使用表 B 连接表 A 中的值,然后显示表 A 中的所有结果,即使是表 B 中没有值的结果。我尝试了一大堆变体,我真的被卡住了。
表:
*用户表*
_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 中按需要工作即可。提前谢谢,干杯。