如果我有这样的表格:
+------------+
| Id | Value |
+------------+
| 1 | 'A' |
|------------|
| 1 | 'B' |
|------------|
| 2 | 'C' |
+------------+
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得这样的结果集:
+------------+
| Id | Value |
+------------+
| 1 | 'AB' |
|------------|
| 2 | 'C' |
+------------+
Run Code Online (Sandbox Code Playgroud)
我知道使用GROUP_CONCAT在MySQL中很容易做到,但我需要能够在MSSQL 2005中做到这一点
谢谢
我需要实现一个版本CombineLatest(我WithLatest在这里称之为),它调用左边每个项目的选择器和右边的最新项目.它不应该仅仅改变右侧的项目.
我认为这是建立Observable.Create还是现有扩展的组合并不是特别重要; 无论哪种方式,我都会将其作为"盒装"扩展方法.
例
var left = new Subject<int>();
var right = new Subject<int>();
left.WithLatest(right, (l,r) => l + " " + r).Dump();
left.OnNext(1); // <1>
left.OnNext(2); // <2>
right.OnNext(1); // <3>
right.OnNext(2); // <4>
left.OnNext(3); // <5>
Run Code Online (Sandbox Code Playgroud)
应该屈服
2 1
3 2
Run Code Online (Sandbox Code Playgroud)
编辑:我的例子的逻辑是:
WithLatest和之间没有区别CombineLatest有人建议我尝试:
var lr = right.ObserveOn(Scheduler.TaskPool).Latest();
left.Select(l => l + " " …Run Code Online (Sandbox Code Playgroud)