在PostgreSQL中我有一张桌子

tbl1
id -- RCODE -- COUNTRY --
1     US/MSR   United states of America
2     GY/LSR   Germany
3     CA/FSA   Canada

tbl2
id -- Name -- CCODE
33    T1      US        
44    Y1      CA       
55    W1      GY  

这些表是否可以在tbl1上的字段RCODE上与LIKE条件连接,并且在tbl2上使用CCODE? 这样我就得到了结果

id --NAME-- RCODE -- CCODE--- COUNTRY

我将提供tbl2的id,即当我给id 44时,结果将是

id --NAME-- RCODE -- CCODE--- COUNTRY
44   Y1     CA/FSA   CA       Canada

任何人都可以帮我解决这个问题,它是PostgreSQL

一件事是RCODE中的前两个char与table2中的CCODE相同。

#1楼 票数:6 已采纳

select tbl2.name, tbl1.rcode, tbl2.ccode, tbl1.country
from tbl1 
  join tbl2 on substring(tbl1.rcode, 1, 2) = tbl2.ccode

#2楼 票数:1

对于类似的问题,我使用了类似的东西:

select
tbl2.id as id,
tbl2.name as NAME,
tbl1.rcode as RCODE,
tbl1.ccode as CCODE,
tbl1.country as COUNTRY
from tbl1, tbl2
where substring(tbl1.rcode, 1, 2) = tbl2.ccode;

子字符串表达式中的数字是子字符串的第一个字符的基于1的索引,以及子字符串的长度。

其他字符串运算符(如trim(),lower()和upper())也很有用。 更完整的可用字符串运算符列表位于:

http://www.postgresql.org/docs/9.3/static/functions-string.html

  ask by cc4re translate from so

未解决问题?本站智能推荐:

2回复

如果condition1为真,则加入一个表,如果condition1为假,则加入另一个表?

我有以下表格: 我想要所有用户的组名(使用array.agg() )。 如果用户的组类型= A,我们必须从组A中获取组名,如果用户的组类型= B,我们必须从组B中获取组名。结果应该是: 我为此创建了一个小提琴 ,并给出了使用2个单独查询的联合的解决方案。 可以在没有union
1回复

在表级别复制Postgres数据库

我只是想知道是否可以使用另一个数据库实例仅复制一个postgres数据库中的表 。 例如,假设我有一个在主机A上运行的postgres实例,在主机B上运行另一个实例。 假设我在hostA的一个名为“ database1”的数据库中有一个名为“用户”的关系,我想在hostB上使用另一个名为“
1回复

PostgreSQL 8.4中的正则表达式

我正在尝试编写此查询: 这导致 有人可以给我一个关于我做错了什么的线索吗? 提前致谢
1回复

错误:在Postgres中多次指定了列

我是Postgres新手,我通过C#代码创建了下表: 还尝试在PGAdmin3上写查询: 得到的错误是: 由于它是外键,如何解决此错误? 当我将查询从Mysql更改为Postgres时? 等价的Mysql查询是(我将其翻译为Postgres是):
1回复

Postgres-将表名作为参数传递并将结果存储在文件中

我有一个任务是创建一个功能,该功能可以在给定条件下检查数据库是否有记录,如果满足则应将结果输出到文本文件中。上面粘贴的代码是我一直没有成功进行的操作。我收到语法错误。 ...有人可以指导我吗? 我正在使用postgres DB。
1回复

postgres 转储显示重复的功能

我的 postgres 版本是 9.0.4 我已经创建了我的数据库的 postgres 转储,并且包含自定义 FUNCTIONS 的重复条目。当我直接查询我的数据库时,我没有看到任何重复条目,但转储有这个重复项。 以下是我使用 pg_restore -l 命令获取的列表。 37; 1255 164
1回复

如何修复这个缓慢的 Postgres 选择查询

我需要一点关于 PostgreSQL 查询的帮助。 我有以下 SELECT 查询,它需要大约 30 秒才能在包含大约 100.000 和 200.000 个条目的表上运行。 我发现似乎很慢的部分只是发票表上的 SELECT,因为如果我运行 它需要几乎相同的时间。 GroupAggregate
1回复

如何定义Postgres 9.0的锁定等待时间?

我正在执行一些测试,以评估我们DAO层的框架。 测试用例之一是复制表锁并检查框架在这种情况下的行为。 该测试是使用Java进行的,主要是JPA,使用Hibernate和EclipseLink作为JPA供应商,我们也单独使用Hibernate,并且我们有一组接口充当与框架的桥梁,以简化针对任何