sql - 如何在 Postgres 中加入多行表
问题描述
我在 Postgres 中有两张桌子
用户
ID | 姓名 | group_a_id | group_b_id |
---|---|---|---|
1 | user_one | 1 | 2 |
2 | 用户二 | 3 | 4 |
团体
ID | 姓名 |
---|---|
1 | group_one |
2 | group_two |
3 | group_three |
4 | group_four |
我正在寻找一个连接的结果,但从group
表中寻找 2 行
结果
ID | 姓名 | group_a_id | group_a_name | group_b_id | group_b_name |
---|---|---|---|---|---|
1 | user_one | 1 | group_one | 2 | group_two |
2 | 用户二 | 3 | group_three | 2 | group_four |
那么在一个连接查询中如何得到结果呢?
SELECT * from user,group WHERE user.group_a_id = group.id
像这样如何group
使用别名将两行从一行连接起来group_a_name, group_b_name
解决方案
你想要join
。. . 两次:
select u.*, g1.name, g2.name
from users u left join
groups g1
on g1.id = u.group_a_id left join
groups g2
on g2.id = u.group_b_id;
推荐阅读
- emacs - 如何在标题下复制组织模式内容
- c++ - 如何将 C++ 类型包装到可变参数列表中
- file-upload - 使用 apollo-upload-client 有效负载格式上传文件
- flutter - 如何在变量中使用类?
- html - rvest:如何在 R 中只提取一个文本?
- spring - 从登录页面重定向的 Spring Security 中排除特定页面
- database - 如何使用 laravel 从 sql 数据库中删除 html 标签?我用过 {!! 描述 !!}
- php - SQLSTATE[HY000]:一般错误:1005 无法创建表 Laravel 8
- json - 错误:无效的 JSON RPC 响应:未定义
- python - 以指定间隔计算曲线下的部分面积