小编use*_*148的帖子

从行获取最大值并连接到另一个表

对不起,如果这是愚蠢的,我真的是一个新手试图指出这一点.

Table A:
ID  Rank Name
1   100  Name1
1    45  Name2
2    60  Name3
2    42  Name4
2    88 Name5

Table B:
ID FileName
1  fn1
2  fn2
Run Code Online (Sandbox Code Playgroud)

我想要的是

1 fn1 name1
2 fn2 name5
Run Code Online (Sandbox Code Playgroud)

这是我的查询的样子,但是当我进行连接时,它给了我多行结果(而不是max)

select B.Id B.FileName,A.Name
FRom B
JOIN ( 
select A.Id, MAX(A.Rank)as ExpertRank 
from A 
group by A.Id
) as NewA on A.Id = B.ID 
join B on A.Rank = NewA.Rank
Run Code Online (Sandbox Code Playgroud)

子查询工作正常,我得到了加入的问题.

我该如何解决?

谢谢.

我有sql server 2008 R2

最后一个是我错过的.

select B.Id B.FileName,A.Name 
FRom B 
JOIN …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

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

启动命令窗口并在其中运行命令

我需要用一些参数启动命令窗口并在里面运行更多命令.

例如,启动test.cmd并运行mkdir.

我可以使用processstartinfo启动test.cmd,但我不确定如何运行更多命令.我可以将更多参数传递给test.cmd进程吗?

我该怎么做?

无法添加评论来回答...所以写在这里.

安德里亚,这就是我想要的.但是上面的代码对我来说不起作用.

我正在启动一个test.cmd,这是一个新的命令环境(比如razzle构建环境),我需要运行更多的命令.

psi.FileName = @"c:\test.cmd";
psi.Arguments = @"arg0 arg1 arg2";

psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.UseShellExecute = false;

Process p = new Process();
p.StartInfo = psi;
p.Start();
p.StandardInput.WriteLine(@"dir>c:\results.txt");
p.StandardInput.WriteLine(@"dir>c:\results2.txt"); 
Run Code Online (Sandbox Code Playgroud)

c# command-line

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

查找文件中字符串的最快方法

我有一个不超过10KB的日志文件(文件大小最多可达2 MB),我想查找文件中是否至少有一组这些字符串.这些字符串将在不同的行上,如,

行动:.......

INPUT:...........

结果:..........

如果文件中存在一组以上,我至少需要知道.我已经做了大约100次测试(每次日志不同,所以我重新加载并读取日志),所以我正在寻找最快和下注的方式来做到这一点.

我在论坛中查找找到最快的方法,但我不认为我的文件对于那些问题来说太大了.

Thansk寻找.

c# string

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

读取标准输出的最后一行

我正在通过Process.Start(). 我尝试重定向输出以获取行。

但是,现在我只需要最后一行。

有没有办法只读取最后一行,还是我仍然需要整个redirectStandaroutput = false;等?

有没有更简单的方法?

如果我必须遵循process.Redirect(),我尝试按照 MSDN 和其他outputdatareceived事件源上的示例进行操作,但我的输出仅在最后写入控制台并且不是异步的。

.net c# stdout

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

如何在c/c ++代码中生成编译器警告"语句无效"

对于我的编译器测试,我需要在我的测试代码中生成此"警告无效"的警告.我怎样才能做到这一点?

使用VS cl.exe编译器

c c++ compiler-construction warnings

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

使用windbg时调试者未连接消息

我正在尝试调试我的应用程序,但是当我使用以下命令启动 windbg 时

windbg.exe -g myapp.exe

Windbg 说“Debuggee 未连接”。然后我必须手动打破并点击开始。然后我看到“windbg 正在运行”。

我必须启动多个 windbg 会话,因此我不能选择在每个会话上按中断 + 继续。我还必须使用 -g 和 -G。

我的windbg 有什么设置不正确吗?

谢谢

debugging windbg

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

如果key已存在,则增加list <keyvaluepair <string,int >>中item的值

我有一份清单keyvaluepair<string, int>.

当我添加到列表中时,我检查密钥是否已经存在,我将值的计数增加到+1.如果没有,我添加新的(键,1).这就是我现在这样做的方式.有没有更好,更好的方法来做到这一点.我是LINQ的新手,但非常喜欢它.

IEnumerable<KeyValuePair<string, int>> kvp = myList.Where(x => x.Key.ToLower() == name.ToLower());
if (kvp == null || kvp.Count() == 0)
{
    //Add first occurence
    myList.Add(new KeyValuePair<string, int>(name, 1));
}
else
{
    //Update occurence count +1 and add the new key
    //TODO : Refactor
    KeyValuePair<string, int> updatedKVP = new KeyValuePair<string, int>(name, kvp.FirstOrDefault().Value + 1);
    myList.Remove(kvp.FirstOrDefault());
    myList.Add(updatedKVP);
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# linq

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