小编Mat*_*son的帖子

在SQL中使用DISTINCT内部联接

我有三个表,A,B,C,其中A是多对一B,B是多对一C.我想要一个A中所有C的列表.

我的表是这样的:A [id,valueA,lookupB],B [id,valueB,lookupC],C [id,valueC].我用两个嵌套的SELECT编写了一个查询,但我想知道是否有可能以某种方式使用DISTINCT进行INNER JOIN.

SELECT valueC
FROM C
INNER JOIN
(
    SELECT DISTINCT lookupC
    FROM B INNER JOIN
    (
        SELECT DISTINCT lookupB
        FROM A
    ) 
    A2 ON B.id = A2.lookupB
) 
B2 ON C.id = B2.lookupC
Run Code Online (Sandbox Code Playgroud)

编辑:表格相当大,A是500k行,B是10k行,C是100行,所以如果我做一个基本的内部连接并最后使用DISTINCT,有很多不必要的信息,如下所示:

SELECT DISTINCT valueC
FROM 
C INNER JOIN B on C.id = B.lookupB
INNER JOIN A on B.id = A.lookupB
Run Code Online (Sandbox Code Playgroud)

这非常非常慢(比我上面嵌套的SELECT慢一倍.

sql inner-join distinct

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

.NET中的高分辨率计时器

我想对我的代码进行一些基本的分析,但发现C#中的DateTime.Now只有大约16毫秒的分辨率.必须有更好的时间保留我尚未找到的构造.

.net profiling timer

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

使用不带Flash的rtmp与Flash服务器通信

我想和使用RTMP的flash服务器交谈,但我不想使用Flash,而是使用c#或java.

我在看Red5,但他们的客户端API似乎有些不稳定.

有没有人有任何其他想法?

flash rtmp

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

查找C#应用程序的故障转储文件

我正在写的应用程序总是在客户端计算机上崩溃,但我没有得到异常描述或堆栈跟踪.
我唯一得到的是Windows希望发送给Microsoft的崩溃报告.
我想获取转储文件并自己调查,但我找不到它.

当我"查看错误报告的内容"时,我可以看到不同的内存转储,但我无法复制或保存它.

c# crash memory-dump

12
推荐指数
2
解决办法
8160
查看次数

使用XPath/XQuery在XML列上过滤SQL查询

我有一个包含一个XML列的表.我想过滤掉XML中特定属性与字符串匹配的行,基本上是执行WHERE或HAVING.

该表看起来像这样

| id | xml |
Run Code Online (Sandbox Code Playgroud)

和XML类似的东西

<xml>
  <info name="Foo">
    <data .../>
  </info>
<xml>
Run Code Online (Sandbox Code Playgroud)

我想得到@name属性与值匹配的所有ID.

我能够做到以下几点:

SELECT id, xml.query('data(/xml/info/@name)') as Value
FROM Table1
WHERE CAST(xml.query('data(/xml/info/@name)') as varchar(1024)) = @match
Run Code Online (Sandbox Code Playgroud)

但它非常缓慢.

必须有一种更好的方法来过滤查询的输出.

sql xpath xquery

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

atexit,在c#中退出委托

在c ++中有一个名为atexit的函数,您可以在其中注册应在系统退出时运行的函数.C#中有类似的事件吗?

更新:AppDomain.ProcessExit似乎没有捕获Ctrl-C或Ctrl-Break.任何人都知道这件事吗?

c# exit

6
推荐指数
1
解决办法
4294
查看次数

重载构造函数/方法的最优雅方法是什么?

重载构造函数和方法似乎很混乱,即简单地通过参数的顺序和数量来区分它们.是不是有办法,也许用泛型,干净利落地这样做,即使你只有一个参数(例如字符串idCode /字符串状态),你仍然可以区分它们?

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            TheForm tf1 = new TheForm("online", DateTime.Now);
            TheForm tf2 = new TheForm(DateTime.Now, "form1");
        }
    }

    public class TheForm
    {
        public TheForm(string status, DateTime startTime)
        {
           //...
        }

        public TheForm(DateTime startTime, string idCode)
        {
           //...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# overloading

5
推荐指数
4
解决办法
977
查看次数

从XSD.exe创建内部C#类

我正在编写一个库,它将接受一个XML字符串作为输入,它将反序列化并进行一些转换.输出将是具有不同模式的单独XML文件.

此内部XML将遵循内部架构,我不希望向库的用户公开.模式在我的项目中的XSD文件中定义,我使用XSD.exe(与Visual Studio捆绑的那个)来创建C#类.

我遇到的问题是XSD.exe生成public类.我希望它们是隐含的或明确的internal.

反正我可以让XSD.exe创建internal类吗?

c# xsd.exe

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

替换C#中的第一个逗号

我试图在C#中找到一种方法来替换字符串中第一次出现的正则表达式.

所以,如果string = ",1,2,3,4,5"我想做类似的事情

string = replacefirst(",","")
Run Code Online (Sandbox Code Playgroud)

总是给出结果:

string = "1,2,3,4,5"
Run Code Online (Sandbox Code Playgroud)

c#

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

任意一步舍入

我想问一下如何将数字舍入如下:

我正在计算一个数字,我得到例如246,5.我想把这个数字四舍五入到250.另一个例子是581到600.

有没有办法在iOS中做到这一点?怎么样?

我实际上想要将数字舍入为50的倍数.我想用它来缩放我正在生成的图形图的y轴.

我有一个数字的aray数字,每个数字用方程式计算,我只想格式化每个数据,例如(250(如果是246,5));(如果是586,2则为600)

objective-c nsnumberformatter ios

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