我有一个表结构如下:
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
但是,这会返回表“sensor_measurements”有一个条目,但不能从查询的这一部分引用它。
我已经尝试过其他类型的变体,但不能让它工作。
我正在使用 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
关于SQL 连接 postgresql 上的许多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53411682/