我有三个表,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慢一倍.
我想对我的代码进行一些基本的分析,但发现C#中的DateTime.Now只有大约16毫秒的分辨率.必须有更好的时间保留我尚未找到的构造.
我想和使用RTMP的flash服务器交谈,但我不想使用Flash,而是使用c#或java.
我在看Red5,但他们的客户端API似乎有些不稳定.
有没有人有任何其他想法?
我正在写的应用程序总是在客户端计算机上崩溃,但我没有得到异常描述或堆栈跟踪.
我唯一得到的是Windows希望发送给Microsoft的崩溃报告.
我想获取转储文件并自己调查,但我找不到它.
当我"查看错误报告的内容"时,我可以看到不同的内存转储,但我无法复制或保存它.
我有一个包含一个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)
但它非常缓慢.
必须有一种更好的方法来过滤查询的输出.
在c ++中有一个名为atexit的函数,您可以在其中注册应在系统退出时运行的函数.C#中有类似的事件吗?
更新:AppDomain.ProcessExit似乎没有捕获Ctrl-C或Ctrl-Break.任何人都知道这件事吗?
重载构造函数和方法似乎很混乱,即简单地通过参数的顺序和数量来区分它们.是不是有办法,也许用泛型,干净利落地这样做,即使你只有一个参数(例如字符串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) 我正在编写一个库,它将接受一个XML字符串作为输入,它将反序列化并进行一些转换.输出将是具有不同模式的单独XML文件.
此内部XML将遵循内部架构,我不希望向库的用户公开.模式在我的项目中的XSD文件中定义,我使用XSD.exe(与Visual Studio捆绑的那个)来创建C#类.
我遇到的问题是XSD.exe生成public类.我希望它们是隐含的或明确的internal.
反正我可以让XSD.exe创建internal类吗?
我试图在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) 我想问一下如何将数字舍入如下:
我正在计算一个数字,我得到例如246,5.我想把这个数字四舍五入到250.另一个例子是581到600.
有没有办法在iOS中做到这一点?怎么样?
我实际上想要将数字舍入为50的倍数.我想用它来缩放我正在生成的图形图的y轴.
我有一个数字的aray数字,每个数字用方程式计算,我只想格式化每个数据,例如(250(如果是246,5));(如果是586,2则为600)
c# ×5
sql ×2
.net ×1
crash ×1
distinct ×1
exit ×1
flash ×1
inner-join ×1
ios ×1
memory-dump ×1
objective-c ×1
overloading ×1
profiling ×1
rtmp ×1
timer ×1
xpath ×1
xquery ×1
xsd.exe ×1