Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何包含两个表中的所有值?组Concat和其他值_Android_Database_Sqlite_Group Concat_Nested Queries - Fatal编程技术网

Android 如何包含两个表中的所有值?组Concat和其他值

Android 如何包含两个表中的所有值?组Concat和其他值,android,database,sqlite,group-concat,nested-queries,Android,Database,Sqlite,Group Concat,Nested Queries,简而言之,我已经提供了数据,以及目前的结果,请告诉我最后一步该怎么做。请使用SQLite ==书面解释== 希望使用表B连接表A中的值,但随后显示表A中的所有结果,即使是表B中没有值的结果。我尝试了一系列变体,我真的被卡住了 表: *用户表* _id table_name table_version table_status ---------- ---------- ------------- ------------ 1 addresses

简而言之,我已经提供了数据,以及目前的结果,请告诉我最后一步该怎么做。请使用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
*用户表取决于*

_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中按需要工作。提前谢谢,干杯。

这就是我们的目的。 您应该使用正确的连接语法(在上使用
):


啊,哇,我还以为我对SQL的掌握还不错,这就是拥抱,真不敢相信我忘记了基本的东西。无论如何,谢谢你的帮助,先生,它就像一个符咒!是否应使用操作员
+
。我只是想澄清一下。正在阅读oracle sql中的一本书,它说+运算符的作用是创建一个或多个空行,非缺陷表中的一个或多个行可以连接到这些空行。@raghundandan使用
+
进行外部连接是过时的oracle特定语法。自版本9i以来,Oracle支持SQL连接。
SELECT ...
FROM user_tables LEFT JOIN 
    (...)
    ON user_tables._id = user_table_id
GROUP BY ...