在 Postgres 的任何表中搜索字符串? [复制]
Posted
技术标签:
【中文标题】在 Postgres 的任何表中搜索字符串? [复制]【英文标题】:Search String in any table in Postgress? [duplicate] 【发布时间】:2019-06-02 19:33:38 【问题描述】:在 Postgresql 中,我有 3 个不同的表 A
、B
和 C
。 A
有一个 Problem
列,B
有一个 MedicalSolution
列,C
有一个 Diagnosis
列。
我有一个字符串,我想检查这 3 个表是否包含该字符串。我该怎么做?
【问题讨论】:
不清楚你在问什么。请添加示例数据。 请提供架构、示例数据和预期输出。没有投票给我。 考虑来自 Varchar(50) 类型的不同 3 个表的 3 列。我想从包含该名称 Belly 的表中搜索名称(例如 Belly)。但是列的名称是不同的 table1 column Name1 , table2 column Name2 ,Table3 column Name3 。 【参考方案1】:如果我猜对了,你需要这样的东西:
select exists( select 1 from Table1 where Name1 like '%Belly%' )
union all
select exists( select 1 from Table2 where Name2 like '%Belly%' )
union all
select exists( select 1 from Table3 where Name3 like '%Belly%' )
如果你需要数据,那么
select 'Table1' as table_name /*needed columns here*/ from Table1 where Name1 like '%Belly%'
union all
select 'Table2' as table_name /*needed columns here*/ from Table2 where Name2 like '%Belly%'
记住,使用union all
时,列数和数据类型应该匹配
【讨论】:
它帮助我解决问题,但它返回一个布尔值,我想从特定表中选择一个日期 @MaheshMaske - 检查编辑的答案以上是关于在 Postgres 的任何表中搜索字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 postgres/nodejs 在表中查找特定内容