我有一个复合类型
CREATE TYPE example AS (id integer, some_stuff integer[]);
Run Code Online (Sandbox Code Playgroud)
以为我可以使用这种类型的数组作为函数的参数.唯一的问题是我找不到为此构建数组文字的方法...如果我尝试从PostgreSQL获取它:
WITH elements AS (
SELECT (12, '{1,2}')::example AS e UNION
SELECT (3, '{3,1}')::example
)
SELECT array_agg(e) FROM elements;
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
{"(3,\"{3,1}\")","(12,\"{1,2}\")"}
Run Code Online (Sandbox Code Playgroud)
但看:
SELECT E'{"(3,\"{3,1}\")","(12,\"{1,2}\")"}'::example[];
ERROR: malformed array literal: "{"(3,"{3,1}")","(12,"{1,2}")"}"
LINE 1: select E'{"(3,\"{3,1}\")","(12,\"{1,2}\")"}'::example[]
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我做了一个应用程序来收集用户的数据.这些数据将在不同的地方收集,并从这些地方发送到中央服务器.我需要为PostgreSQL中的中央服务器设计验证计划.必须根据各种验证检查数据,如果验证失败,则必须抛出消息.
它是数据库到数据库传输验证.
我需要将 csv 文件上传到 postgresql 数据库表。csv文件就像
A B C D E F
16777216 16777471 AU AUSTRALIA OC OCEANIA
16777472 16778239 CN CHINA AS ASIA
16778240 16779263 AU AUSTRALIA OC OCEANIA
16779264 16781311 CN CHINA AS ASIA
Run Code Online (Sandbox Code Playgroud)
桌子是
CREATE TABLE ipligence
(
ip_from numeric(11,0) NOT NULL DEFAULT 0,
ip_to numeric(11,0) NOT NULL DEFAULT 0,
country_code character varying(10)[] NOT NULL,
country_name character varying(225)[] NOT NULL,
continent_code character varying(10)[] NOT NULL,
continent_name character varying(255)[] NOT NULL,
CONSTRAINT ipligence_pkey PRIMARY KEY (ip_to )
)
WITH …Run Code Online (Sandbox Code Playgroud) 我构建了工作MySQL查询:
SELECT
v.*, u.username
FROM
video AS v, users AS u
WHERE
v.type = 'public'
AND
v.user_ID = u.user_ID
Run Code Online (Sandbox Code Playgroud)
现在我想添加第三个表和count()表comments中的结果,该表中的video_ID表将等于表中的表video.
我试过这个,但没有成功:
SELECT
v.*, u.username, count(c.video_ID)
FROM
video AS v, users AS u, comments AS c
WHERE
v.type = 'public'
AND
v.user_ID = u.user_ID
AND
v.video_ID = c.video_ID
Run Code Online (Sandbox Code Playgroud)
作为回报,我想获得与某些相关的评论数量video_ID.
我不明白如何使它在一个查询中正常工作.
你能帮帮我吗?
谢谢你,
伊利亚
我有一个问题:
select
index_imsid
, SUM(weighted_value) sumWeightedValue
, (
select
top 1 percentof
, [Plan_Name_OR_Payment_Type]
from [v_PlanPerProvider1]
where [PLAN_RANK]=1
) plan1
from [v_PlanPerProvider1]
where plan_rank between 1 and 10
group by index_imsid
order by 1
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
消息116,级别16,状态1,行3
当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式.
能帮我理解为什么会收到这个错误吗?
它似乎不喜欢select语句作为列之一?