Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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
涉及三个表的Postgresql查询_Postgresql - Fatal编程技术网

涉及三个表的Postgresql查询

涉及三个表的Postgresql查询,postgresql,Postgresql,我有三张桌子,比如说: (1) 名称:团体 列:gid,groupname (2) 名称:简介 列:profileid,profname (3) 名称:GroupsProfiles Columns:gid,profileid-对应于前面表中的列 现在,假设我有一个profileid数组,我想构造一个查询,在GroupsProfiles中查找相应的gid,然后从中查找相应的groupname 我一直在玩连接和其他东西,但没有得到我想要的。有什么想法吗?使用连接(用您关心的配置文件id替换您的配置文

我有三张桌子,比如说:

(1) 名称:团体

列:gid,groupname

(2) 名称:简介

列:profileid,profname

(3) 名称:GroupsProfiles

Columns:gid,profileid-对应于前面表中的列

现在,假设我有一个profileid数组,我想构造一个查询,在GroupsProfiles中查找相应的gid,然后从中查找相应的groupname

我一直在玩连接和其他东西,但没有得到我想要的。有什么想法吗?

使用连接(用您关心的配置文件id替换您的配置文件id):

您可以对每个配置文件ID运行此查询。如果您想获取所有配置文件或配置文件子集的信息,您可以删除您的配置文件ID上的条件,或者如果您知道需要哪些配置文件,也可以使用IN子句,例如

SELECT g.gid
     , g.GroupName
  FROM Groups g
     , Profiles p
     , GroupsProfiles gp
 WHERE g.gid = gp.gid
   AND p.profileid = gp.profileid
   AND p.profileid IN (profile_id_1, profile_id_2, ... ,profile_id_N)
使用连接(用您关心的配置文件id替换您的配置文件id):

您可以对每个配置文件ID运行此查询。如果您想获取所有配置文件或配置文件子集的信息,您可以删除您的配置文件ID上的条件,或者如果您知道需要哪些配置文件,也可以使用IN子句,例如

SELECT g.gid
     , g.GroupName
  FROM Groups g
     , Profiles p
     , GroupsProfiles gp
 WHERE g.gid = gp.gid
   AND p.profileid = gp.profileid
   AND p.profileid IN (profile_id_1, profile_id_2, ... ,profile_id_N)

你能展示你已经拥有的吗?你能展示你已经拥有的吗?