Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
Sql 选择2个表_Sql_Postgresql - Fatal编程技术网

Sql 选择2个表

Sql 选择2个表,sql,postgresql,Sql,Postgresql,如何使用原始表从另一个表中选择属性您应该修复数据模型。您应该有三个表: 用户:每个用户一行 组:每组一行 用户组:每个用户/组组合一行 对于您的数据模型,我将使用数组来取消填充值,然后重新聚合: 我更喜欢数组而不是JSON,因此我会使用: select ug.type, (select array_agg(u.name) from (unnest(array[ug.user_1, ug.user_2, ug.user_3])) ar(user_id) join

如何使用原始表从另一个表中选择属性您应该修复数据模型。您应该有三个表:

  • 用户
    :每个用户一行
  • :每组一行
  • 用户组
    :每个用户/组组合一行
对于您的数据模型,我将使用数组来取消填充值,然后重新聚合:

我更喜欢数组而不是JSON,因此我会使用:

select ug.type,
       (select array_agg(u.name)
        from (unnest(array[ug.user_1, ug.user_2, ug.user_3])) ar(user_id) join
             users u
             on u.user_id = u.id
       ) as users
from user_groups ug;

如果确实需要JSON,可以使用JSON函数。

如果将
user\u group
的数据库设计更改为仅
user,键入
,然后存储1行、2行、3行甚至99行,表示用户在组中。具有预期输出的示例数据将有助于更好地理解这一点。您使用的是MySQL还是Postgress?垃圾标签并不是真的help@ArunPalanisamy添加了一个样本删除所有解释后,您的问题不再有意义。