小编Eva*_*oll的帖子

ORDER BY 项目必须出现在选择列表中 [...]

使用 Microsoft SQL Server 2008,我收到以下错误。


如果语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则消息 104,级别 16,状态 1,第 43 行 ORDER BY 项必须出现在选择列表中。

我使用的查询有点复杂,但是子句CASE侧面的ORDER BY语句看不到别名列名,这里是一个简短的例子。

SELECT 1 AS foo, 2 AS bar
UNION ALL
SELECT 10 AS foo, 20 AS bar
ORDER BY CASE WHEN foo = 2 THEN 1 END;
Run Code Online (Sandbox Code Playgroud)

在我的生产查询中,左查询需要按[360_set]表中找到的列排序,右查询需要按[360_set]空排序。

如何修复此错误,为什么此语法会生成错误?

这是版本信息,

Microsoft SQL Server Management Studio     10.0.5512.0
Microsoft Analysis Services Client Tools   10.0.5500.0
Microsoft Data Access Components (MDAC)    6.1.7601.17514
Microsoft MSXML                            3.0 6.0 
Microsoft …
Run Code Online (Sandbox Code Playgroud)

sql-server order-by sql-server-2008-r2 case

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

从函数返回带有列名的 ResultSet

我有以下 postgresql 函数:

CREATE OR REPLACE FUNCTION readMessage(messageFor INT, qid INT = NULL, ctxt INT = NULL, messageFrom INT = NULL, byTimeStamp BOOLEAN = FALSE)
RETURNS SETOF message
AS $$
DECLARE
    sql varchar;
BEGIN
    sql := 'SELECT * FROM message WHERE (receiver_id IS NULL OR receiver_id = $1)';
    IF qid IS NOT NULL THEN
        sql := sql || ' AND queue_id = $2';
    END IF;
    IF ctxt IS NOT NULL THEN
        sql := sql || ' AND context = $3'; …
Run Code Online (Sandbox Code Playgroud)

postgresql java functions postgresql-9.1

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

为什么 to_char 不是 IMMUTABLE,我该如何解决?

如何索引to_char()列的 a ?

我试过了:

adam_db=> CREATE INDEX updates_hourly_idx 
          ON updates (to_char(update_time, 'YYYY-MM-DD HH24:00'));
Run Code Online (Sandbox Code Playgroud)

但是得到了错误:

错误:必须标记索引表达式中的函数 IMMUTABLE

这看起来很奇怪,因为to_char()时间戳是相当不可变的。

任何想法如何生成该索引?

postgresql index string-representation

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

如何计算Postgres中行之间的累积差异?

我需要根据 session_id 计算 Postgres 中前一天累积值的差异。示例如下:

CREATE TEMP TABLE foo AS
SELECT date::date, session_id, upload_usage, download_usage, total_usage_on_a_day
FROM ( VALUES
  ( '10/21/2014', '0007994b', 37578561   , 6800209   , 44378770 ),
  ( '10/22/2014', '0007994b', 218113296  , 85272007  , 303385303 ),
  ( '10/23/2014', '0007994b', 552228616  , 252390680 , 804619296 ) ,
  ( '10/24/2014', '0007994b', 799772020  , 391196041 , 1190968061 ),
  ( '10/25/2014', '0007994b', 1047233978 , 529908804 , 1577142782 ),
  ( '10/26/2014', '0007994b', 1294608258 , 668515778 , 1963124036 ),
  ( '10/27/2014', '0007994b', 1066656794 , 557318645 …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.3

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

你在哪里可以找到 ubuntu 14.04 上 postgres 9.3 中的 citext 模块?

所以我正在尝试使用 citext,但它似乎是来自 ubuntu 14.04 postgres 安装的 MIA。你在哪里可以找到这个名为 citext for postgresql 9.3 的神秘野兽?

project_test=> CREATE TABLE "customers_addresstype" (
project_test(>     "id" serial NOT NULL PRIMARY KEY,
project_test(>     "customer_id" integer NOT NULL REFERENCES "customers_customer" ("id") DEFERRABLE INITIALLY DEFERRED,
project_test(>     "display" citext NOT NULL,
project_test(>     UNIQUE ("customer_id", "display")
project_test(> )
project_test-> ;
ERROR:  type "citext" does not exist
LINE 4:     "display" citext NOT NULL,
                      ^
project_test=> CREATE EXTENSION IF NOT EXISTS citext WITH SCHEMA ext;
ERROR:  could not open extension control file "/usr/share/postgresql/9.3/extension/citext.control": No …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu postgresql-9.3 citext

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

如何获得服务器的正常运行时间?

我正在使用 postgresql-9.4,为了支持和监控任务,我需要知道我的服务器已经运行了多长时间?有什么功能或方法可以知道这一点吗?有没有一种 sql 方法可以知道我的服务器何时启动?

我真的需要知道自它开始以来经过的时间吗?

postgresql postgresql-9.4

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

AWS DMS 创建没有 auto_increment 的表

我正在使用他们的 DMS 工具将我的数据库迁移到 Amazon 的 RDS。除了在源数据库上标记为 auto_increment 的列没有在目标数据库上标记为 auto_increment 之外,几乎所有内容看起来都不错。我还注意到我的索引和外键约束不包括在内。我在两端都运行 5.6 版。

有没有办法让 DMS 包含我的数据库的完整创建表?

mysql aws amazon-rds amazon-dms

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

为什么 to_char 左填充空格?

当我使用099指示 0 填充的 3 位数字时,我会在左侧得到空格。

SELECT '>' || to_char(1, '099') || '<';
 ?column? 
----------
 > 001<
(1 row)
Run Code Online (Sandbox Code Playgroud)

为什么to_char这里是左填充?为什么会有前导空格?

postgresql cast number-formatting string-representation

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

PostgreSQL 是否索引空值?

如果我有一张像这样的桌子:

Food
-----------------
name | price | x
Run Code Online (Sandbox Code Playgroud)

假设我在 name 和 price 上创建了一个索引,但是数据库在某些行中为 name 和 price 提供了一堆空值。PostgreSQL 会自动跳过索引这些行吗?我听说这种行为可能在以后的版本中有所改变。

postgresql index null

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

SQL Server记录“blob数据”,可使用journalctl查看

当我跑步时它journalctl -u mssql-server.serviceB blob data

Sep 06 17:34:44 x230 systemd[1]: Stopping Microsoft SQL Server Database Engine...
Sep 06 17:34:44 x230 sqlservr[22239]: [200B blob data]
Sep 06 17:34:44 x230 sqlservr[22239]: [190B blob data]
Sep 06 17:34:51 x230 sqlservr[22239]: [73B blob data]
Sep 06 17:34:51 x230 sqlservr[22239]: [146B blob data]
Sep 06 17:39:51 x230 sqlservr[22239]: [73B blob data]
Sep 06 17:39:51 x230 sqlservr[22239]: [146B blob data]
Run Code Online (Sandbox Code Playgroud)

我也没有运行 DDL 命令,也没有插入或更新 blob 数据。但有可能是mssql-cli在后台执行类似操作。

sql-server linux logs errors

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