小编Nen*_*vic的帖子

通过Management Studio从SQL Server 2012导出到.CSV

我有一个SQL Server 2012数据库,我试图导出到.CSV.我对SQL的了解非常基础,我的问题是,我假设它将在Management Studio中完成,我该怎么做?

sql sql-server csv sql-server-2012

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

我无法使用THROW SQL Server 2008 R2

它说,SQL Server 2008 R2 Management Studio无法识别下面的例子

Throw附近的语法错误

我试图在这里抛出一个错误,所以当有人插入两次相同的值时,我可以在我的网站上处理它.

Begin Try
 insert into BusinessID (BusinessID) values (@ID)
 insert into BusinessID (BusinessID) values (@ID)

End Try

Begin Catch

Print 'PK already exist'
THROW
End Catch
Run Code Online (Sandbox Code Playgroud)

sql sql-server try-catch throw sql-server-2008-r2

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

在SQL中查找顶级父级

我有两张桌子如下

Person

  Id   Name
   1    A
   2    B
   3    C
   4    D
   5    E
Run Code Online (Sandbox Code Playgroud)

RelationHierarchy

ParentId   CHildId
   2         1
   3         2
   4         3
Run Code Online (Sandbox Code Playgroud)

这将形成树状结构

          D
          |
          C
          |
          B
          |
          A
Run Code Online (Sandbox Code Playgroud)

ParentId和ChildId是Person Table的Id列的外键

我需要编写可以获取顶级父级即根的SQL.任何人都可以建议任何可以帮助我实现这一目标的SQL

sql sql-server

18
推荐指数
3
解决办法
5万
查看次数

带有Join,Count和Where的SQL查询

我有2个表,我正在尝试进行一个查询以节省一些工作.

Table 1: id, category id, colour
Table 2: category id, category name
Run Code Online (Sandbox Code Playgroud)

我想加入他们以便我得到 id, category id, category name, colour

然后我想限制它,以便没有选择"红色"项目(WHERE colour != "red")然后我想计算每个类别(COUNT(id) GROUP BY (category id)中的记录数量.

我已经试了:

SELECT COUNT(table1.id), table1.category_id, table2.category_name 
FROM table1 
INNER JOIN table2 ON table1.category_id=table2.category_id 
WHERE table1.colour != "red"
Run Code Online (Sandbox Code Playgroud)

但它只是不起作用.我尝试了很多变化,当我尝试上面的查询时没有得到任何结果.

sql join count where

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

如果它是SQL中的特定字符,如何删除第一个字符

我目前有一个表,Telephone它有如下条目:

9073456789101
+773456789101
0773456789101
Run Code Online (Sandbox Code Playgroud)

我想要做的是从所有具有9的条目的开头处仅删除9,但保留其他条目.

任何帮助将不胜感激.

sql sql-server sql-server-2008

10
推荐指数
3
解决办法
5万
查看次数

SQL Server 2012:向PostgreSQL添加链接服务器

我尝试将PostgreSQL连接到SQL Server 2012服务器作为链接服务器

我在不同的论坛上找到了一些建议并遵循它.但我遇到了身份验证问题.

我解释:

在SQL Server上,我已经安装了PostgreSQL的ODBC驱动程序(psqlodbc_09_02_0100-x64).我在PostgreSQL上为特定数据库创建了一个系统DSN.此DSN正常工作.

使用SSMS,我运行此命令来添加链接服务器:

EXEC master.dbo.sp_addlinkedserver 
@server = N'lnk_test', 
@srvproduct=N'PostgreSQL Unicode(x64)', 
@provider=N'MSDASQL', 
@provstr=N'Driver=PostgreSQL Unicode(x64);uid=postgres;Server=test1;database=accueil;pwd=MyPassword;SSLmode=disable;PORT=5432'

EXEC master.dbo.sp_addlinkedsrvlogin 
@rmtsrvname=N'lnk_test',
@useself=N'True',
@locallogin=NULL,
@rmtuser=NULL,
@rmtpassword=NULL
Run Code Online (Sandbox Code Playgroud)

运行后,我有一个名为"lnk_test"的新链接服务器.当我收到以下错误消息时:

Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "pgTest1_accueil".
OLE DB provider "MSDASQL" for linked server "pgTest1_accueil" returned message "[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed".
OLE DB provider "MSDASQL" for linked server "pgTest1_accueil" returned message "FATAL: authentification par mot de passe échouée pour l'utilisateur  « postgres »". (Microsoft …
Run Code Online (Sandbox Code Playgroud)

sql sql-server postgresql linked-server sql-server-2012

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

从Execute命令插入临时表

我需要使用execute命令将select语句中的数据插入临时表.

if OBJECT_ID('tempdb..#x') is not null
drop table #x

Create Table #x(aaa nvarchar(max))

declare @query2 nvarchar(max)
set @query2 = 'SELECT [aaa] from IMP_TEMP'

INSERT #x
SELECT [aaa] from IMP_TEMP -- THIS WORKS
SELECT *from #x

INSERT #x
exec @query2 -- THIS DOES NOT WORKS, WHY?
SELECT *from #x
Run Code Online (Sandbox Code Playgroud)

sql sql-server insert temporary execute

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

如何用单引号包装我的查询输出

我经常从我的数据库中读取记录,并使用notepad ++以这种格式处理收据:

'xxxxxxxxx'    
'xxxxxxxxx',
'xxxxxxxxx',
'xxxxxxxxx'
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使用SQL查询来执行此操作.

我运行的示例查询是:

Select ReceiptNo 
from My_table 
where TIN = 'KEYVALUE'
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

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

如何从组中返回多行的一行

我试图从数据库中提取一个独特客户列表,其中一些客户被列出多次.存在(几乎)重复行,因为客户已从一个部门移动到另一个部门,或者因为客户已使用其他地址(或两者)注册.

所以我的挑战是数据看起来像这样:

ID   Customer   Division   Address
-----------------------------------
1    A          M          X
1    A          L          X
2    B          N          Y
2    B          N          Z
3    C          P          W
3    C          T          S
Run Code Online (Sandbox Code Playgroud)

我希望我的select语句为每个客户返回一行(我不关心哪一个).

ID   Customer   Division   Address
-----------------------------------
1    A          M          X
2    B          N          Y
3    C          P          W
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL Server 2008.我想我需要在最后两列做一个"GROUP BY",但我不知道如何从中获取一行.

我希望有一个人可以帮助我!

(是的,我知道问题应该在源头解决,但不幸的是,在任何合理的时间范围内都不可能......).

sql sql-server group-by

5
推荐指数
1
解决办法
140
查看次数

为多个记录插入SQL

我在运行以下查询时收到错误消息MSSQL Server 2005.

错误消息是Incorrect syntax near ','.我觉得查询还可以.但我不知道为什么会出错.

INSERT INTO PERSON (ID, EMP_NAME) VALUES ('E001', 'AAA'), ('E002', 'BBB');
Run Code Online (Sandbox Code Playgroud)

SQL Server不支持?

sql sql-server sql-server-2005

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