标签: t-sql

SQL Server查询 - 使用DISTINCT选择COUNT(*)

在SQL Server 2005中,我有一个表cm_production,其中列出了所有已投入生产的代码.该表有ticket_number,program_type,program_name和push_number以及其他一些列.

目标:按程序类型和推送号计算所有DISTINCT程序名称

到目前为止我所拥有的是:

DECLARE @push_number INT;
SET @push_number = [HERE_ADD_NUMBER];

SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] 
FROM cm_production 
WHERE push_number=@push_number 
GROUP BY program_type
Run Code Online (Sandbox Code Playgroud)

这让我在那里,但它计算所有的程序名称,而不是不同的程序名称(我不希望它在该查询中做).我想我无法绕过如何告诉它只计算不同的程序名而不选择它们.或者其他的东西.

sql t-sql sql-server sql-server-2005

402
推荐指数
5
解决办法
87万
查看次数

替换TSQL中的换行符

我想替换(或删除)TSQL字符串中的换行符.有任何想法吗?

显而易见的

REPLACE(@string, CHAR(13), '')
Run Code Online (Sandbox Code Playgroud)

只是不会这样做......

t-sql newline

396
推荐指数
8
解决办法
51万
查看次数

如何在Linq中使用SQL Like%?

我在SQL中有一个程序,我试图变成Linq:

SELECT O.Id, O.Name as Organization
FROM Organizations O
JOIN OrganizationsHierarchy OH ON O.Id=OH.OrganizationsId
where OH.Hierarchy like '%/12/%'
Run Code Online (Sandbox Code Playgroud)

我最关心的是:

where OH.Hierarchy like '%/12/%'
Run Code Online (Sandbox Code Playgroud)

我有一个存储层的列,例如/ 1/3/12,所以我只使用%/ 12 /%来搜索它.

我的问题是,Linq或.NET相当于使用百分号?

.net t-sql linq linq-to-entities sql-like

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

如何更新sql server中的前100条记录

我想更新SQL Server中的前100条记录.我有一个表T1包含字段F1F2.T1有200条记录.我想更新F1前100条记录中的字段.如何TOP 100在SQL Server中进行更新?

sql t-sql sql-server sql-update

376
推荐指数
4
解决办法
38万
查看次数

SQL Server SELECT进入现有表

我试图从一个表中选择一些字段并将它们从存储过程插入到现有表中.这是我正在尝试的:

SELECT col1, col2
INTO dbo.TableTwo 
FROM dbo.TableOne 
WHERE col3 LIKE @search_key
Run Code Online (Sandbox Code Playgroud)

我认为select into是临时表,这就是为什么我得到一个SELECT ... INTO ...已经存在的错误.

我怎样才能插入多行dbo.TableTwodbo.TableOne

sql t-sql sql-server stored-procedures

373
推荐指数
3
解决办法
46万
查看次数

是否可以在Count()中指定条件?

是否可以指定条件Count()?我想只计算在Position列中有"Manager"的行.

我想在count语句中这样做,而不是使用WHERE; 我问的是因为我需要同时统计管理者和其他人SELECT(在这个例子中,对我来说Count(Position = Manager), Count(Position = Other))这样的事情WHERE是没用的.

sql t-sql sql-server

363
推荐指数
8
解决办法
42万
查看次数

SELECT INTO T-SQL中的表变量

有一个复杂的SELECT查询,我想从中将所有行插入表变量,但是T-SQL不允许它.

同样,您不能将表变量与SELECT INTO或INSERT EXEC查询一起使用. http://odetocode.com/Articles/365.aspx

简短的例子:

declare @userData TABLE(
                        name varchar(30) NOT NULL,
                        oldlocation varchar(30) NOT NULL
                       )

SELECT name, location
INTO @userData
FROM myTable
    INNER JOIN otherTable ON ...
WHERE age > 30
Run Code Online (Sandbox Code Playgroud)

表变量中的数据稍后将用于将其插入/更新回不同的表(大多数是具有次要更新的相同数据的副本).这样做的目的是简单地使脚本比SELECT INTO直接进入正确的表更易读,更容易定制.性能不是问题,因为rowcount它相当小,只在需要时手动运行.
......或者告诉我,如果我做错了.

t-sql sql-server insert table-variable

355
推荐指数
6
解决办法
73万
查看次数

T-SQL中的睡眠命令?

有没有办法写一个T-SQL命令让它睡一段时间?我正在异步编写Web服务,我希望能够运行一些测试,看看异步模式是否真的会使它更具可伸缩性.为了"模拟"一个缓慢的外部服务,我希望能够使用运行缓慢的脚本调用SQL服务器,但实际上并没有处理大量的东西.

t-sql sql-server sleep asynchronous

353
推荐指数
3
解决办法
20万
查看次数

填充带有前导零的字符串,因此在SQL Server 2008中它的长度为3个字符

在SQL Server 2008 R2中首次创建时,我有一个最多3个字符的字符串.

我想用前导零填充它,所以如果它的原始值是'1'那么新值将是'001'.或者,如果其原始值为"23",则新值为"023".或者,如果其原始值为"124",则新值与原始值相同.

我正在使用SQL Server 2008 R2.我如何使用T-SQL执行此操作?

t-sql sql-server

352
推荐指数
10
解决办法
74万
查看次数

如何为现有列设置默认值

这在SQL Server 2008中不起作用:

ALTER TABLE Employee ALTER COLUMN CityBorn SET DEFAULT 'SANDNES'
Run Code Online (Sandbox Code Playgroud)

错误是:

关键字"SET"附近的语法不正确.

我究竟做错了什么?

t-sql sql-server default-value sql-server-2008

350
推荐指数
11
解决办法
61万
查看次数