小编Ale*_*lex的帖子

OPENJSON - 关键字“with”附近的语法不正确

想知道是否有人能找出问题所在,当我从 [HubSpotCache] 之外的另一个数据库(仍在同一个 SQL 实例中)读取表时,我不断收到此错误。

消息 319,级别 15,状态 1,第 33
行关键字“with”附近的语法不正确。如果此语句是公用表表达式、xmlnamespaces 子句或更改跟踪上下文子句,则前一个语句必须以分号终止。

SELECT
    J.label
FROM
    [HubSpotCache].dbo.[ContactProperties] C
CROSS APPLY 
    OPENJSON(C.[OptionsAggregate])
    WITH (
            label NVARCHAR(100) N'$."value"'
         ) AS J
WHERE 
    ISJSON(C.[OptionsAggregate]) > 0
Run Code Online (Sandbox Code Playgroud)

这是表的 OptionsAggregate 列中的值

[
  {
    "label": "China",
    "value": "China",
    "displayOrder": -1,
    "doubleData": 0.0,
    "hidden": false,
    "readOnly": false
  },
  {
    "label": "Singapore",
    "value": "Singapore",
    "displayOrder": -1,
    "doubleData": 0.0,
    "hidden": false,
    "readOnly": false
  }
]
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server json

8
推荐指数
1
解决办法
5712
查看次数

SSMS:管道分隔输出

我需要将查询结果输出到管道分隔文件。

我遵循了以下说明:

工具--> 选项--> 查询结果--> Sql Server--> 结果转文本。将输出格式从制表符分隔更改为自定义分隔。将管道放入自定义分隔符框中。返回您的查询,选择查询 --> 结果到文件。执行文件,给它一个磁盘路径和一个名称。

但是当我将 .rpt 文件转换为 .txt [...也在说明中...] 时,我没有看到任何管道。

  1. 如果我可以看到的字段值之间的管道?
  2. 如果是这样,说明中是否缺少或不正确的内容?

ssms sql-server-2008

3
推荐指数
1
解决办法
8207
查看次数

由于文件组“DEFAULT”中磁盘空间不足,无法为数据库“TEMPDB”分配新页面

由于文件组“DEFAULT”中磁盘空间不足,无法为数据库“TEMPDB”分配新页。通过删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建必要的空间。

在执行包含近 2.5 亿条记录的 select 语句的存储过程时遇到此错误。

尽管我在 tempdb 中有大约 650GB 的空间,但我仍然面临这个错误。想知道我可以在这方面进一步做些什么

询问:

SELECT u.Id, u.place, u.name, u.lname, LOWER(ue.email) AS Email, MIN(dp.BirthTime) AS Time
FROM tableA u
    JOIN tableB ue ON ue.id = u.id AND ue.Did = 0
    JOIN tableC dp ON dp.Id = u.Id
        JOIN tableB dpe ON dpe.Id = dp.Id
            LEFT JOIN tableB idpe ON idpe.Email = dpe.Email
                LEFT JOIN tableE idp ON idp.Id = idpe.Id
                    LEFT JOIN tableD pidp ON pidp.Id = idp.Id 
        JOIN tableD cp ON dp.Id …
Run Code Online (Sandbox Code Playgroud)

sql-server tempdb

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

sql server - 在子查询中分组

我无法将结果分组到子查询中.目前,我得到的结果只是给出每个crq_requested_by_company旁边的所有standard_crq的总和,而不是按crq_requested_by_company对它进行分组.

我有以下代码

SELECT crq_requested_by_company 
       ,COUNT(crq_number) as 'count crqs'
       ,(SELECT count(crq_number) FROM change_information where crq_change_timing = 'Standard') as 'standard crqs' 
FROM change_information
GROUP BY crq_requested_by_company
Run Code Online (Sandbox Code Playgroud)

我的结果看起来像这样.standard_crqs应该都小于每个crq_requested_by_company的总计数

crq_requested_by_company    count   standard_crqs   standard_crqs(correct)
A                             4          2824             3
B                             2          2824             1
C                             2269       2824             1745 
D                             7696       2824             3456
E                             110        2824             56
F                             91         2824             17
G                             33         2824             23
H                              295       2824             78 
Run Code Online (Sandbox Code Playgroud)

如果我只是查询

SELECT count(crq_number)
FROM change_information 
WHERE crq_change_timing = 'Standard' 
GROUP BY crq_requested_by_company
Run Code Online (Sandbox Code Playgroud)

这完全没问题

sql sql-server group-by count subquery

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

标签 统计

sql-server ×3

count ×1

group-by ×1

json ×1

sql ×1

sql-server-2008 ×1

ssms ×1

subquery ×1

t-sql ×1

tempdb ×1