您好 postgresql 。
我有这个数据库:
实际上,我有一张桌子" borda"这与表"网关"有关。这张桌子"网关"涉及表" equipamento"这个表与表" sensor"。
有关问题是:我有" borda_id"来自Borda表。现在我希望每个sensor_id与这个" borda_id"。
相关联我该怎么写sql?
谢谢..
答案 0 :(得分:1)
Publicacao表是将Sensor表与Borda表关联的最简单方法。该图像描述了Publicacao应该与传感器和borda相关联。
您可以使用INNER JOIN捕获两个表(Publicacao和Sensor)中存在的所有行:
SELECT Sensor.nome
,Sensor.descricao
,Sensor.modelo
,Sensor.precisao
,Sensor.valorMin
,Sensor.valorMax
,Sensor.fabricante_id
,Sensor.tipoSensor_id
,Sensor.equipamento_id
FROM Sensor
INNER JOIN Publicacao ON Sensor_id = Publicacao.sensor_id
现在您拥有与Publicacao相关联的所有传感器。
为了达到你想要的效果,我们需要过滤结果以获得"与具有borda_id的Publicacao相关联的所有传感器等于X"
SELECT Sensor.nome
,Sensor.descricao
,Sensor.modelo
,Sensor.precisao
,Sensor.valorMin
,Sensor.valorMax
,Sensor.fabricante_id
,Sensor.tipoSensor_id
,Sensor.equipamento_id
FROM Sensor
INNER JOIN Publicacao ON Sensor_id = Publicacao.sensor_id
WHERE Publicacao.borda_id = X
X是您要在Borda表中引用的borda_id