sql - SQL 连接 postgresql 上的许多表
问题描述
我有一个表结构如下:
measurements:
id | Value | sensor_id
现在我有另一个表叫做传感器
sensors:
id | Name | provider_id
然后我有另一个名为 Providers 的表:
providers:
id | Name
现在我想做的是从测量表中选择 sensor_ID 具有特定类型(由 ID 指定)的所有记录。
所以我做了类似的事情:
select * from measurements, sensors, providers
JOIN sensors on sensors.id = measurements.sensor_id
JOIN providers on providers.id = sensor.provider_id
where provider.id = 1 LIMIT 100
但是,这又回来了,There is an entry for table "sensor_measurements", but it cannot be referenced from this part of the query.
我已经尝试了其他类型的变体,但无法使其正常工作。
我正在使用 Postgresql 并使用 PgAdmin 工具。
解决方案
切勿在FROM
子句中使用逗号。所以:
select * -- you should list out the columns you want
from measurements m join
sensors s
on s.id = m.sensor_id join
providers p
on p.id = s.provider_id
where p.id = 1
limit 100
推荐阅读
- xamarin.forms - 如何制作带有图标的进度条?
- c - 如何正确使用 S_ISREG 函数
- c# - EF .Net Core 从控制器到达类
- c# - 如何使用 Simple Injector 调度来自中介的呼叫
- sql - 如果计数大于零则更新,否则不做任何事情
- android - 使用 Dagger 2 管理大型多库模块项目中的依赖项
- java - 如何添加 Onclick 按钮以显示 LineChart JavaFX
- r - 使用“imager”包中的 load.image() 函数在 R 中加载多个图像
- python - 无法在图像上的鼠标单击区域写入文本
- web-services - 如何将远程数据显示到离子视图中?