在 PostgreSQL 中显示来自外部关系的数据
Displaying data from an external relationship in PostgreSQL
我有一个数据库,我在使用 table 中的值进行过滤时遇到问题,该 table 与我的主要 table.
没有直接关系
我的数据库大致如下
table_main
+----+------------+--------+-------+-------+
| id | date | veh_id | dep | arr |
+----+------------+--------+-------+-------+
| 1 | 2020-01-01 | 1 | 00:00 | 10:00 |
+----+------------+--------+-------+-------+
table_vehicles
+----+------------+-----------------+
| id | reg_number | vehicle_type_id |
+----+------------+-----------------+
| 1 | 10 | 1 |
+----+------------+-----------------+
| 2 | 11 | 1 |
+----+------------+-----------------+
| 3 | 12 | 1 |
+----+------------+-----------------+
| 4 | 13 | 2 |
+----+------------+-----------------+
table_vehicle_types
+----+-------+--------+
| id | make | model |
+----+-------+--------+
| 1 | Chevy | Impala |
+----+-------+--------+
| 2 | Ford | Fusion |
+----+-------+------- +
table_vehicle_types 链接到 table_vehicles,table_vehicles 链接到 table_main
我想要做的是在 select 查询中显示我的 table_main 并过滤它以显示特定的车辆类型,例如我想查看 Impalas 进行的所有旅行当我查询 table_main 时,我不知道该怎么做。
如有任何帮助,我们将不胜感激,谢谢
您可以开始使用此查询。将需要一个 JOIN
用于将表格相互关联,如下所示。
select t1.*
from table_main t1
join table_vehicles t2
on t2.id = t1.veh_id
left join table_vehicle_types t3
on t3.id = t2.vehicle_type_id
where t3.model = 'Impala'
我有一个数据库,我在使用 table 中的值进行过滤时遇到问题,该 table 与我的主要 table.
没有直接关系我的数据库大致如下
table_main
+----+------------+--------+-------+-------+
| id | date | veh_id | dep | arr |
+----+------------+--------+-------+-------+
| 1 | 2020-01-01 | 1 | 00:00 | 10:00 |
+----+------------+--------+-------+-------+
table_vehicles
+----+------------+-----------------+
| id | reg_number | vehicle_type_id |
+----+------------+-----------------+
| 1 | 10 | 1 |
+----+------------+-----------------+
| 2 | 11 | 1 |
+----+------------+-----------------+
| 3 | 12 | 1 |
+----+------------+-----------------+
| 4 | 13 | 2 |
+----+------------+-----------------+
table_vehicle_types
+----+-------+--------+
| id | make | model |
+----+-------+--------+
| 1 | Chevy | Impala |
+----+-------+--------+
| 2 | Ford | Fusion |
+----+-------+------- +
table_vehicle_types 链接到 table_vehicles,table_vehicles 链接到 table_main
我想要做的是在 select 查询中显示我的 table_main 并过滤它以显示特定的车辆类型,例如我想查看 Impalas 进行的所有旅行当我查询 table_main 时,我不知道该怎么做。
如有任何帮助,我们将不胜感激,谢谢
您可以开始使用此查询。将需要一个 JOIN
用于将表格相互关联,如下所示。
select t1.*
from table_main t1
join table_vehicles t2
on t2.id = t1.veh_id
left join table_vehicle_types t3
on t3.id = t2.vehicle_type_id
where t3.model = 'Impala'