与这个相关--它的解决方案允许我返回空值,但是它将它返回到相同的键中而不是分配的键中。
特别是对于这个例子,我想把它作为A=valueOfA, B=valueOfB而不是A=valueOfA,valueOfB插入。
select concat_ws(",", A, B, C) into D;
// if C is null, it will return A=valueOfA,valueOfB
谢谢!:)
我有一张桌子
CREATE TABLE inbound ( -- broadcasts received from RTs
id SERIAL primary key,
ts TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
rt VARCHAR(10) NOT NULL,
region region NOT NULL,
channel channel NOT NULL,
payload jsonb,
messageid, -- denormalised
messagetype --
我是postgres的json新手,所以请不要朝我扔东西。我正在尝试选择jsonb对象的数据。我计划在select中使用它进行更新。现在它看起来是这样的:
select to_jsonb(full_address) as full_address
from (
select "user".living_addr as living_id,
"user".living_addr_path as living_path,
null as
有没有办法让我有条件地将元素添加到postgres jsonb数组中?我正在尝试构造一个数组,将其添加到一个更大的对象中,其中大多数元素都是必需的,但我希望其中一些元素是可选的。
作为一个简化的例子:
select jsonb_build_array(
jsonb_build_object('a', a),
jsonb_build_object('b', b),
jsonb_build_object('c', c),
case when a + b <> c then
jsonb_bui
我一直在寻找答案,但没有找到任何足够接近我正在寻找的东西。
我有两张桌子:
CREATE TABLE skill_tree (
ID SERIAL PRIMARY KEY,
NAME TEXT NOT NULL,
DESCRIPTION TEXT NOT NULL
);
和
CREATE TABLE skill (
ID SERIAL PRIMARY KEY,
NAME TEXT NOT NULL,
DESCRIPTION TEXT NOT NULL,
DURATION INTEGER NOT NULL,
COOLDOWN INT
我在Postgres中选择了一些对象及其标签。模式相当简单,只有三个表:
objects id
taggings id | object_id | tag_id
tags id | tag
我像这样连接这些表,使用array_agg将标记聚合到一个字段中:
SELECT objects.*,
array_agg(tags.tag) AS tags,
FROM objects
LEFT JOIN taggings ON objects.id = taggings.object_id
LEFT JOIN tags ON tags.id = taggings.tag_id
但是,如果对象没有
我面临一些将数据转换为json对象的问题。有一个名为milestone的表,其数据如下:
id name parentId
a test1 A
b test2 B
c test3 C
d test4 A
e test5 B
我希望将结果转换为Postgres中的json类型:
content(json type) parentId
"assignees": [{"id": "a",
我是新的Postgres和使用9.4版本。我有一个返回json列的查询。
如何向JSON数组值添加键
我的问题是:
select array_to_json(array_agg(t))
from (select DISTINCT ON(city,state)latitudes,longitudes,city,state
from zips where city ilike 'ORL%'
order by city,state,ziptype desc
limit 10) t;
输出如下:
[{"latitudes": 31.2
我正在使用Postgres数据库,有一个如下所示的表
id firstname lastname settings
1 Sam Crews {"some_key": some_value}
2 John Dave {"some_key": some_value}
我正在尝试将其中一列移动到设置json中,并删除该列。所以它变成了
id firstname settings
1 Sam {"some_key": some_
我希望将数据从一列(varchar)迁移到另一列(jsonb)。
Column | Type | Modifiers
------------+-----------------------------+--------------------------------------------------------
id | integer | not null default nextva
Postgres 9.5.3
一个更大查询的片段,用于更新不同表中的JSONB字段(不过,我不认为JSONB内容与问题有任何关系):
CASE WHEN EXISTS(SELECT role FROM people WHERE result_id = r2.id AND admin = 't')
THEN (elem || jsonb_build_object('admin', true, 'role', role))
ELSE (elem - 'admin' - 'role')
END
基本上,如果该记录存在,我
我想将来自兄弟记录的一些数据聚合到一个jsonb字段中。
下面是一个数据结构示例,非常类似于我正在使用的数据结构:
CREATE TABLE so.a (
id integer,
foo integer,
bar integer,
-- a lot of other data
CONSTRAINT a_pkey PRIMARY KEY (id)
);
CREATE TABLE so.b (
id integer,
a1 integer,
a2 integer,
data jsonb,
CONSTRAINT b_pkey PRIMARY KEY (id)
我试图在Postgres表中追加一个JSON值
表结构
id | name | field
------------------------------------
1 | jack |{age:22, place:"london"}
2 | rocky|{age:34, place:"nyc"}
对于第一条记录,我将"NYC“值附加到现有值(例如:{age:22,place:"London,NYC"} ),对于第二条记录,我将现有的值"nyc”替换为"SFO“
update table
set field->&
有没有可能在Postgres视图上创建一个插入规则,它将从视图中获取伪列值,形成JSON并存储在基表中?例如:
表格
CREATE TABLE table1 (
id serial NOT NULL,
created_at timestamptz NOT NULL,
updated_at timestamptz NOT NULL,
email varchar(100) NOT NULL,
extra_info jsonb NULL,
CONSTRAINT activity_completion_requests_pkey PRIMARY KEY
我有一张有id列和jsonb列的桌子。
我希望更新每行上的jsonb对象,以包含“父”行的id值。
创建我的设置如下:
CREATE TABLE people (
id serial PRIMARY KEY,
meta jsonb
);
insert into people (meta) values
('{"age": 10}'),
('{"age": 15}'),
('{"age": 20}')
;
其结果是:
id meta
1 {"
让我们假设我们有3个表:产品、组织、广告 product.sql CREATE TABLE product (
name VARCHAR NOT NULL,
id BIGSERIAL NOT NULL PRIMARY KEY,
advert_id BIGINT NOT NULL REFERENCES advert(id),
organization_id BIGINT NOT NULL REFERENCES organization(id)
); organization.sq
我有一个简单的产品商店模式 CREATE TABLE optgroups (
id SERIAL PRIMARY KEY,
title VARCHAR(22) UNIQUE NOT NULL CHECK (title <> '')
);
CREATE TABLE options (
id SERIAL PRIMARY KEY,
title VARCHAR(22) UNIQUE NOT NULL CHECK (title <> ''),
optgroup_
在我的PostgreSQL数据库中,我有以下模式:
CREATE TABLE survey_results (
id integer NOT NULL,
scores jsonb DEFAULT '{}'::jsonb,
raw jsonb,
created_at timestamp without time zone,
updated_at timestamp without time zone
);
在本表中,我有以下数据:
INSERT INTO survey_results (id, scores, raw, created_