Postgresql 从不同架构中同名的两个表中查询相同的列名
我有两个模式,分别是“network”和“sub_internal”。这两个模式都包含一个名为“Connection_Point”的表,具有相同的列名,例如“Ao_id”、Conn_objID、Loc_type、netw_type 我想从这两个表中获取Conn_objID和Loc_类型的列。规则是,如果Conn_objID持有值“dtr”,那么Loc_类型的值应该是“Primary”或“secondary”。现在我想查询Conn_objID中以值“dtr”开头的列,而不是以值“Primary”和“secondary”作为Loc_类型中的值。我已经对单个表,工作正常。在从这两个表进行查询时被击中。如何使用postgreSQL完成。我所做的查询是Postgresql 从不同架构中同名的两个表中查询相同的列名,postgresql,Postgresql,我有两个模式,分别是“network”和“sub_internal”。这两个模式都包含一个名为“Connection_Point”的表,具有相同的列名,例如“Ao_id”、Conn_objID、Loc_type、netw_type 我想从这两个表中获取Conn_objID和Loc_类型的列。规则是,如果Conn_objID持有值“dtr”,那么Loc_类型的值应该是“Primary”或“secondary”。现在我想查询Conn_objID中以值“dtr”开头的列,而不是以值“Primary”和
SELECT "Conn_objID","Loc_type"
FROM network."Connection_Point"
WHERE ("Conn_objID" LIKE 'dtr%' AND "Loc_type" NOT LIKE ('Primary%'))
AND ("Conn_objID" LIKE 'dtr%' AND "Loc_type" NOT LIKE ('Secondary%'))
如果只想将两个模式中的表中的数据拉入单个结果集中,可以使用UNION:
SELECT "Conn_objID","Loc_type"
FROM network."Connection_Point"
WHERE ("Conn_objID" LIKE 'dtr%' AND "Loc_type" NOT LIKE ('Primary%'))
AND ("Conn_objID" LIKE 'dtr%' AND "Loc_type" NOT LIKE ('Secondary%'))
UNION
SELECT "Conn_objID","Loc_type"
FROM sub_internals."Connection_Point"
WHERE ("Conn_objID" LIKE 'dtr%' AND "Loc_type" NOT LIKE ('Primary%'))
AND ("Conn_objID" LIKE 'dtr%' AND "Loc_type" NOT LIKE ('Secondary%'));