Postgres SQL从存在ID为的条目的表中选择数据

Postgres SQL从存在ID为的条目的表中选择数据,sql,postgresql,select,Sql,Postgresql,Select,我有下面的场景。我有3个具有以下结构的表 TABLE A -entry_id (PRIMARY KEY, INTEGER) TABLE B -entry_id (FOREIGN_KEY -> TABLE A) -content (TEXT) TABLE C -entry_id (FOREIGN_KEY -> TABLE A) -content (INTEGER) 我想从表B或表C中检索内容单元格值。该值可以仅在其中一个表中。因此,表B或表C中的条目具有给定的条目

我有下面的场景。我有3个具有以下结构的表

TABLE A
 -entry_id (PRIMARY KEY, INTEGER)

TABLE B 
 -entry_id (FOREIGN_KEY -> TABLE A)
 -content (TEXT)

TABLE C
  -entry_id (FOREIGN_KEY -> TABLE A)
  -content (INTEGER)
我想从表B或表C中检索内容单元格值。该值可以仅在其中一个表中。因此,表B或表C中的条目具有给定的
条目id


另外,如果duplicate未能找到与我需要的内容相匹配的内容,则表示抱歉。

如果它一次只能存在于一个表中,请使用union

select a1.entry_id, b2.content
from TableA a1
inner join TableB b2
on a1.entry_id = b2.entry_id

union -- This removes any duplicates. Use UNION ALL to show duplicates

select a1.entry_id, c3.content::text
from TableA a1
inner join TableC c3
on a1.entry_id = c3.entry_id

如果我理解正确,您需要以下内容:

select entry_id, content::text from TABLEB where entry_id = ?
union all
select entry_id, content::text from TABLEC where entry_id = ?
union all
select entry_id, content::text from TABLED where entry_id = ?

UNION
将删除重复项,为什么要断言“一次只存在于一个表中”?…1)UNION类型整数和文本无法匹配。是否希望同时使用第四个表。例如:表D-条目id(外键->表A)-内容(双精度)不,我的问题是我有一个条目id,并且该条目id的值可以在三个表中的任何一个表中(对于和条目id,一个值只能在一个表中)。因此,我希望根据条目id从其他3个表中的一个表中检索共同响应数据。这有意义吗?@Cosmin\u Victor-然后将
where
子句添加到所有查询中,请检查编辑的答案。