小编gbn*_*gbn的帖子

无法绑定多部分标识符

select (case when t.freeplayabandoned != f.freeplayabandoned then 'freeplayabandoned'
             when t.freeplaydownloaded != f.freeplaydownloaded then 'freeplaydownloaded'
    end) 
from testtable t where not exists (select * from freeplay.egmfreeplay f  where f.freeplaydownloaded  = t.freeplaydownloaded)
Run Code Online (Sandbox Code Playgroud)

我试图得到testtable记录的列名与freeplay.egmfreeplay的列名不匹配

并且我得到错误以下错误

消息4104,级别16,状态1,行1无法绑定多部分标识符"f.freeplayabandoned".消息4104,级别16,状态1,行1无法绑定多部分标识符"f.freeplaydownloaded".

有人可以帮忙吗?

sql t-sql sql-server

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

SQL Server索引问题

我有一个查询连接SQL Server 2005中的3个表,但没有Where子句,所以我索引连接语句中找到的字段.

如果我的索引设置为Col1,col2,col3

我的加入是

Tbl1
inner join tbl2
On
Tbl1.col3=tbl2.col3
Tbl1.col2=Tbl2.col2
Tbl1.col1=Tbl2.col1
Run Code Online (Sandbox Code Playgroud)

与索引的顺序相比,join语句的顺序是否有所不同?我应该将我的索引设置为Col3,col2,col1吗?或者将我的加入声明重新组合为Col1,col2,col3?

谢谢

sql t-sql sql-server indexing performance

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

缩短GROUP BY条款

是否可以缩短group by子句,以便您不必重复select子句中提到的字段?例如:

SELECT
   field1,
   field2,
   field3,
   field4
FROM table
GROUP BY
   field1,
   field2,
   field3,
   field4

 to:

SELECT
 field1,
 field2,
 field3,
 field4
FROM table
GROUP BY
 SELECT.*
Run Code Online (Sandbox Code Playgroud)

......或者这种效果.我正在编写一个将使用sp_executesql()存储过程的查询,并且我的变量中的空间不足.非常感谢你.

sql t-sql sql-server grouping distinct

3
推荐指数
2
解决办法
609
查看次数

SQL-Server无限循环

sql-server如何处理无限循环?它是检测它还是杀死服务器.

例如:

WHILE (@number = 3)
BEGIN
    print @number
END
Run Code Online (Sandbox Code Playgroud)

sql sql-server timeout infinite-loop

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

SQL Server - 使用LIKE子句搜索带有国际字符的字符串

我有一个字段'描述',可以有任何unicode字符的产品描述.如果我搜索包含国际字符的描述,并且具有LIKE条件(搜索的单词没有国际字符),我会得到以下结果:

例如:GEWÜRZTRAMINER是其中一个描述.当我做:

Select * from table where Description LIKE '%GEWURZTRAMINER%', it retrieves the entry.
Run Code Online (Sandbox Code Playgroud)

当我做:

Select * from table where Description LIKE '%GEWURZ%', the entry is not retrieved.
Run Code Online (Sandbox Code Playgroud)

(注意:搜索条件不包括Ü但有U)

有没有办法解决这个问题,以便我可以使用'%GEWURZ%'进行检索?

sql t-sql sql-server pattern-matching sql-server-2008

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

检查null varbinary(max)列的效率?

使用SQL Server 2008.

示例表:

CREATE table dbo.blobtest
(id int primary key not null,
name nvarchar(200) not null, 
data varbinary(max) null)
Run Code Online (Sandbox Code Playgroud)

示例查询:

select id, name, 
cast((case when data is null then 0 else 1 end) as bit) as DataExists 
from dbo.blobtest 
Run Code Online (Sandbox Code Playgroud)

现在,查询需要返回一个"DataExists"列,如果blob为null,则返回0,否则返回1.

这一切都很好,但我想知道它的效率如何.即,SQL服务器是否需要将整个blob读入其内存,或者是否有一些优化,以便它只进行足够的读取以确定blob是否为空?

(FWIW,对于此示例,sp_tableoption"超出行的大值类型"选项设置为OFF).

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

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

嵌套在Linq中选择顶部1

有一些问题想出这一个.

select*,(从chicken_photo选择top1 chicken_nr,其中鸡=代码顺序为[sort])作为Chicken的照片

代码是Table Chicken中的一列

基本上得到这只鸡的封面照片.

为了更清楚,我希望它从表Chicken返回多行.但只有一个来自chicken_photo的条目.

var q = from chicken in data.chickens
                    join photos in data.chicken_photos
                    on chicken.Code equals photos.chicken                    
                    where chicken.Lang==lang && chicken.photographer_nr == nr
                    group chicken by new     {chicken.photographer,photos.Photograph_Nr,chicken.Title,chicken.Code}              
Run Code Online (Sandbox Code Playgroud)

.net c# sql linq

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

SQL中的转义字符

请原谅我,因为我是一个sql noob.我正在尝试使用以下内容进行插入,但是我对撇号有问题.我有很多要插入的记录,但很多都有同样的问题.有没有逃脱它们的方法?

INSERT INTO  [dbo].[tb_Chefs] ([ChefHotelID], [HotelID], [ChefID],   
     [Position],  [GroupID])  
VALUES(N'b809a86e-f7f2-45b2-a240-0049f51509d7' ,N'14481', N'624', 
     N'Chef d'atelier', N'331')
GO
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

sql string sql-server-2005

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

如何判断SQL Server 2008中创建约束的方法是什么?

有两种方法可以创建约束,

方法A:

ALTER TABLE dbo.<tablename> ADD CONSTRAINT
<namingconventionconstraint> UNIQUE NONCLUSTERED
(
<columnname>
Run Code Online (Sandbox Code Playgroud)

方法B:

CREATE UNIQUE NONCLUSTERED INDEX
<namingconventionconstraint> ON dbo.<tablename>
(
<columnname>
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

但是,似乎需要使用依赖于它们的创建方式(Drop约束与drop index)的方法来删除这些约束.有没有办法确定创建约束的方法,而不是尝试方法并查看它是否失败?我知道你可以让SQL Server为你创建一个drop脚本,但我正在寻找某种查询.

sql sql-server constraints sql-server-2008

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

处理空白查询结果,ISNULL(NULLIF())

我试图将查询的结果返回到变量,我能够在插入语句中使用它.但是我的选择仍然返回null,即使我相信我已ISNULL(NULLIF())正确设置.

declare @test varchar(10)

set @test =  (select ISNULL(NULLIF(discnumber,''),'NA')
from discmaster
where meteredfilename =  '3501' or nonmeteredfilename='3501')

select @test
Run Code Online (Sandbox Code Playgroud)

它似乎是正确的但仍然返回一个NULL值.你会选择Case而不是100%肯定该方法.

sql sql-server

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