簡體   English   中英

postgres中的Sql:選擇一個表中與其他和其他相關的每一行

[英]Sql in postgres: select every row in one table that is related to other and other

嗨,我是postgresql 的新手。

我有這個數據庫:

數據庫

實際上,我有一個表“borda”與表“gateway”相關,這個表“gateway”與表“equipamento”相關,這張表與表“sensor”相關。

問題是:我有來自 Borda 表的“borda_id”。 現在我想要與這個“borda_id”相關的每個sensor_id。

sql應該怎么寫?

謝謝..

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 等於 X 的 Publicacao 關聯的所有傳感器”

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM