小编dez*_*zso的帖子

如何制定包含数组的复合类型的数组文字?

我有一个复合类型

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)

有没有办法做到这一点?

arrays postgresql composite

9
推荐指数
1
解决办法
7209
查看次数

在postgreSQL中验证

我做了一个应用程序来收集用户的数据.这些数据将在不同的地方收集,并从这些地方发送到中央服务器.我需要为PostgreSQL中的中央服务器设计验证计划.必须根据各种验证检查数据,如果验证失败,则必须抛出消息.

它是数据库到数据库传输验证.

postgresql

7
推荐指数
1
解决办法
7590
查看次数

postgresql 导入 csv 文件

我需要将 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)

database postgresql

4
推荐指数
1
解决办法
2384
查看次数

MySQL查询来自三个不同的表

我构建了工作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.

我不明白如何使它在一个查询中正常工作.

你能帮帮我吗?

谢谢你,
伊利亚

mysql sql

0
推荐指数
1
解决办法
64
查看次数

使用select语句作为列之一

我有一个问题:

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语句作为列之一?

sql t-sql sql-server sql-server-2008

-1
推荐指数
1
解决办法
2万
查看次数