【发布时间】:2014-12-16 22:37:39
【问题描述】:
我有一张桌子my_friends_cards:
id | name | rare_cards_composite[] |
---+---------+------------------------
1 | 'timmy' | { {1923, 'baberuth'}, {1999, 'jeter'}}
2 |'jimmy' | { {1955, 'Joey D'}, {1995, 'juice_head'}}
3 |'bob' | {{2001, 'mo_jeter'}}
我想发出这样的请求:
Select name, (cards.x).player
FROM SELECT UNNEST(base_ball_card) as x
FROM my_friends_cards
WHERE name=ANY(['timmy', 'jimmy'])) as cards
WHERE (cards.x).year > 1990
(我知道在未嵌套的复合数组中没有“名称”字段是行不通的。)
我感觉我的复合类型数组列应该只是另一个表,然后我可以进行连接,但是这有什么办法吗?
我希望得到这样的结果:
[('timmy', 'jeter')
,('jimmy', 'juice_head')]
版本:PostgreSQL 9.3.3
【问题讨论】:
-
能否发布您期望的结果?
-
发布确切的表定义或确切的
CREATE TABLE脚本与问题应该是显而易见的。还有你的 Postgres 版本(总是)。 -
感谢您的编辑 :) 对不起新用户
-
同意应该有确切的定义和版本,但我不知道这对于不一定有“一如既往”的菜鸟来说是显而易见的;)跨度>
标签: sql arrays postgresql rowtype set-returning-functions