标签: sql-server-2017

SQL查询已成功完成但未获得结果

使用SQL Server Management Studio 2017.我导入了大约2000万封电子邮件的列表,只需运行以下代码即可删除任何重复项:

WITH CTE AS
(
    SELECT *,ROW_NUMBER() OVER (PARTITION BY email ORDER BY email) AS RN
    FROM dbo.cleanemails
)

DELETE FROM CTE WHERE RN<>1
Run Code Online (Sandbox Code Playgroud)

它表示Query已成功执行,并在Messages选项卡下显示受影响的1000万行(预期),但没有结果选项卡.我想导出到csv文件.我检查执行设置,因为Parseonly和Noexec设置有时会导致问题,但它们都是OFF.

我是相对较新的SQL,任何帮助将不胜感激.工作室屏幕截图 在此输入图像描述 执行设置 在此输入图像描述

sql sql-server sql-server-2017

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

返回一组常量键值对

想象一下,我有类似以下的东西

SELECT 0 AS 'Key','No' AS 'Value'
UNION
SELECT 1 AS 'Key','YES' AS 'Value'
UNION  
SELECT 2 AS 'Key','Maybe' AS 'Value'
....
....
Run Code Online (Sandbox Code Playgroud)

如何使上面的语句更具可读性,以便我可以在单个select语句中容纳上面列表中更多的常量键/值对?我不想创建表变量或创建复杂的sql语句.只有一个select语句返回一堆常量键/对值.

sql t-sql sql-server sql-server-2017

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

将具有计算值和默认值的表插入到表中

我有一个TableA包含几列的列,其中一列是一个Computed值,另一列是a DateTime的默认值GETDATE()

然后,我有另一个表,TableA_Staging我想将其用作批量插入的原始转储表。该表看起来很像TableA,但有一些预期的差异,其中之一就是其中没有ComputedDateTime列。

批量插入后TableA_Staging,现在需要将数据从TableA_Staging移到TableA。我在这两列中遇到了麻烦。让我们假设 TableA看起来像这样:

TableA
-----------
TableAId (INT non-unique, non-auto-incrementing PK)
Column1 (String PK)
Column2
ColumnComputed
ColuomnDateTime
Run Code Online (Sandbox Code Playgroud)

和...

TableA_Staging
-----------
TableAID (this value populated in C# code)
Column1 
Column2
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试这样做:

INSERT INTO TableA
SELECT TableAID, Column1, Column2 FROM TableA_Staging WHERE TableAID > X
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误:

列名或提供的值数与表定义不匹配。

我认为这是在抱怨,因为我没有为ColumnComputed或提供任何东西ColuomnDateTime?但是,如果是这样,我认为我不需要为它们提供值,因为其中一个是经过计算的,而另一个具有默认值。

sql t-sql sql-server sql-server-2017

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

左联接排除匹配记录?

传统的左联接返回左表中的所有记录,包括匹配的记录:

在此处输入图片说明

我想使用联接排除匹配的记录,并仅从左侧表返回不匹配的记录:

在此处输入图片说明

下面显示的是到目前为止我想到的代码。
它使用一个WHERE子句来淘汰匹配的记录-但这有点不对劲。
这是最好的方法吗?还是有更好的排他加入方法?

SELECT L.col1 ,
       L.col2 ,
FROM leftTable L
LEFT JOIN rightTable R ON R.col1 = L.col1
WHERE R.id IS NULL ;
Run Code Online (Sandbox Code Playgroud)

sql sql-server join left-join sql-server-2017

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

标签 统计

sql ×4

sql-server ×4

sql-server-2017 ×4

t-sql ×2

join ×1

left-join ×1