相关疑难解决方法(0)

Postgres 是否保留记录的插入顺序?

例如,当我使用返回记录 ID 的查询时

INSERT INTO projects(name)
VALUES (name1), (name2), (name3) returning id;
Run Code Online (Sandbox Code Playgroud)

产生输出:

1
2
3
Run Code Online (Sandbox Code Playgroud)

这个 ids 会指向相应的插入值吗?

1 -> name1
2 -> name2
3 -> name3
Run Code Online (Sandbox Code Playgroud)

postgresql insert order-by postgresql-9.4

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

如何在case语句中有超过100个条目作为变量

我写了一个有 > 100 个选项的 case 语句,在一个简单的查询中,我在 4 个地方使用了相同的语句。

相同的查询两次,它们之间有一个联合,但也在进行计数,因此 group by 也包含 case 语句。

这是为了重新标记某些公司名称,其中同一公司的不同记录拼写不同。

我试图将一个变量声明为 VarChar(MAX)

declare @CaseForAccountConsolidation varchar(max)

SET @CaseForAccountConsolidation = 'CASE 
       WHEN ac.accountName like ''AIR NEW Z%'' THEN ''AIR NEW ZEALAND''
       WHEN ac.accountName LIKE ''AIR BP%'' THEN ''AIR BP''
       WHEN ac.accountName LIKE ''ADDICTION ADVICE%'' THEN ''ADDICTION ADVICE''
       WHEN ac.accountName LIKE ''AIA%'' THEN ''AIA''
       ...
Run Code Online (Sandbox Code Playgroud)

当我在我的 select 语句中使用它时 - 查询只是将 case 语句作为文本返回并且没有对其进行评估。

我也无法在组中使用它 - 我收到以下错误消息:

Each GROUP BY expression must contain at least one column that is not …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2012

11
推荐指数
2
解决办法
2396
查看次数