我想知道SELECT WITH (NOLOCK)
如果影响该表的唯一其他查询是SELECT
查询,在表上使用的好处是什么.
这是如何由SQL Server处理的?将一个SELECT
查询块另一个SELECT
查询?
我正在使用SQL Server 2012和Linq-to-SQL DataContext
.
(编辑)
关于表现:
SELECT
必须等待第一个SELECT
完成SELECT
吗?SELECT WITH (NOLOCK)
?我正在尝试我认为将使用另一个表中的总和对表进行简单更新,但由于某种原因,它只更新了一行.以下是表格中的相关信息:
游戏
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
Run Code Online (Sandbox Code Playgroud)
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Run Code Online (Sandbox Code Playgroud)
现在最终,我想在运行更新后最后一个表看起来像这样:
playercareer
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
Run Code Online (Sandbox Code Playgroud)
这是我尝试的只更新第一行的查询:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到答案.提前感谢您的时间和建议!
我有t_stats
列id (INT)
和列的表ratio (DECIMAL(8,4))
.
id
是独特的.
我想查询表t_stats
,以便选择具有相同AVG(ratio)
(最接近的)的3个组.
可以使用临时表来完成,只要我可以将其作为脚本或存储过程运行.
编辑:这是具体的例子:
INPUT:
id ratio
-- -----
24 0.930000
25 0.390000
26 0.800000
27 0.920000
28 0.550000
30 0.810000
31 0.770000
32 0.800000
33 0.590000
36 0.760000
37 0.910000
40 0.690000
43 0.390000
45 0.310000
46 0.760000
47 0.710000
54 0.710000
55 0.950000
57 0.920000
60 0.890000
62 0.700000
66 0.890000
68 0.950000
107 0.760000
559 0.990000
560 0.540000
565 0.430000
566 0.830000
568 …
Run Code Online (Sandbox Code Playgroud) 嗨,我有一个List<decimal>
包含在0; 1]之间的值.我想检查这些值的总和(或小计)是否等于1(或几乎).
我也可以使用Linq
函数来过滤或操作列表.
期望的结果:
显然,我想要的是性能成本最低的东西.
我有Telerik控件RadPanelBar的滚动问题.页面正在自动刷新.在页面刷新RadPanelBar滚动向上.我用JavaScript处理这个问题.下面是图像.
下面是代码.它适用于经销商联系滚动,但不适用于员工.我正在尝试以相同的方式(方法)来维护员工的滚动位置.
<script type="text/javascript">
$(".rpSlide ul").scroll(function() {
SaveStafftScrollPosition();
});
function SaveStaffScrollPosition(){
yPos = $(".rpSlide ul").scrollTop();
}
function ReturnStaffScrollPosition() {
$(".rpSlide ul").scrollTop(yPos);
}
function OnResponseEnd(sender ,eventArgs){
ReturnStaffScrollPosition();
}
function OnRequestStart(sender ,eventArgs){
SaveStafftScrollPosition();
}
Run Code Online (Sandbox Code Playgroud)
在HTML中有一段代码.
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
ClientEvents-OnRequestStart="OnRequestStart"
ClientEvents-OnResponseEnd="OnResponseEnd"
OnAjaxRequest="RadAjaxManager1_AjaxRequest">
//some code here
</telerik:RadAjaxManager>
Run Code Online (Sandbox Code Playgroud)
问题是当我向下滚动时它为工作人员保存了滚动位置零.为什么它始终将滚动位置保存为零,即使我向下滚动到中间/结尾?
我可以在哪里获得SqlError.Number集合的所有描述?这是由SqlException引发的
我正在使用SVNKit,我发现测试Authentification到服务器的唯一方法是使用testConnection()
类的方法SVNRepository
.
该方法不返回布尔值但抛出异常.
public abstract void testConnection()
throws SVNException
Run Code Online (Sandbox Code Playgroud)
问题是,我得到了一个冷血错误,而不是被捕获:
这是我的代码:
clientManager = CreateObject("java", "org.tmatesoft.svn.core.wc.SVNClientManager").newInstance();
authManagerJO = CreateObject("java", "org.tmatesoft.svn.core.wc.SVNWCUtil").
createDefaultAuthenticationManager(ARGUMENTS.username, JavaCast("String", ARGUMENTS.password));
authManagerJO.setAuthenticationForced(true);
clientManager.setAuthenticationManager(authManagerJO);
svnDavRepoFactory = CreateObject("java", "org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory").setup();
repositoryUrlJO = CreateObject("java", "org.tmatesoft.svn.core.SVNURL").parseURIDecoded(APPLICATION.svn_repository_audifiles);
svnRepository = clientManager.createRepository(repositoryUrlJO, true);
try{
svnRepository.testConnection();
}
catch (Exception e){
svnRepository = "";
}
Run Code Online (Sandbox Code Playgroud) 我有一个典型的非标准化表(tempTable
)与多个偶数列(rep1
,rep2
,...).所以我编写了一个脚本,将非规范化数据插入规范化表(myTable
):
insert into myTable
select idRep,rep FROM
(
select idRep, ISNULL(rep1,'') as rep FROM tempTable
union
select idRep, ISNULL(rep2,'') as rep FROM tempTable
union
select idRep, ISNULL(rep3,'') as rep FROM tempTable
union
select idRep, ISNULL(rep4,'') as rep FROM tempTable
union
select idRep, ISNULL(rep5,'') as rep FROM tempTable
) as t
Run Code Online (Sandbox Code Playgroud)
注意:该表myTable
还包含一个自动递增的IDENTITY
列PRIMARY KEY
.
订单rep1,rep2,rep3,rep4,rep5在我的场景中非常重要.奇怪的是,当我执行脚本时,数据没有以正确的顺序插入,例如自动生成的id'1000'具有来自'rep3'的值,而id'1001'具有来自'rep1'的值.
这是为什么?脚本是如何执行的?
我解析文件并将结果保存到C#中的列表中.然后我将数据库查询的所有结果解析到另一个列表.我想比较匹配的两个列表,并将结果保存到另一个列表以写入输出文件.我认为比较两个列表比每次为每个人运行查询更快更好,因为它们在文件中大约是16k记录.
清单1.列表fileList包含以下数据类型:string personsName
清单2.列表DBresults包含以下数据类型:string personsName,string address,string phoneNumber
尝试将列表1与列表2进行比较以查找匹配项,然后将结果发送到另一个列表以写入输出.它们可能是列表2中每个人的多个结果,所以我需要找到每个实例.
开始使用像这样的LINQ查询,但我不是LINQ的主人,所以我需要一些帮助.
var matches = fileList.Where(a=>a.personsName == DBResults.where(s=>s,personsName).toList();
Run Code Online (Sandbox Code Playgroud)
如果你认为你可能有更快的方法,我也会接受其他建议.我知道IDctionarys和Hashtables是快速查找表,但我有三种数据类型,所以我不能做一个keyvaluepair.
嗨我正在尝试计算结果集的平均值,但我无法这样做,选择count(*)的查询返回1月1日到31日之间每天的呼叫计数,因此返回了近20行.如何计算结果的平均值,然后将值分配给变量,如SET @abc =(下面的查询).我正在使用sql server 2005.
SELECT avg(Calls) AS average
FROM
(
SELECT COUNT(*) Calls
FROM abc
WHERE CallDate BETWEEN '20120101' AND '20120131'
AND datepart(Hh,TranscribeDateTime) = '07'
AND datepart(Mi,TranscribeDateTime) BETWEEN '00' AND '59'
AND AppID = 123 AND Status ='T'
GROUP BY calldate
)
Run Code Online (Sandbox Code Playgroud)
如果我的方法有误,请提出一个.谢谢
我在.NET中有一个字符串,如下所示:
string str = "Lorem ipsum is great. lorem ipsum Lorem...";
Run Code Online (Sandbox Code Playgroud)
我需要得到所有匹配案例的"Lorem".所以Lorem应该出现两次而忽略了lorem.
谢谢.
c# ×4
t-sql ×3
algorithm ×2
c#-4.0 ×2
linq ×2
linq-to-sql ×2
list ×2
sql ×2
sql-server ×2
.net ×1
ajax ×1
coldfusion ×1
coldfusion-8 ×1
java ×1
javascript ×1
lookup ×1
mysql ×1
sum ×1
svnkit ×1
telerik ×1
union ×1