我目前正在使用HttpWebRequest网站.我想使用await模式,这是没有给出的HttpWebRequests.我找到了这个类HttpClient,它似乎是新的Http工人类.我正在HttpClient.GetAsync(...)用来查询我的网页.但我错过了添加ClientCredentials喜欢的选项HttpWebRequest.Credentials.有没有办法提供HttpClient身份验证信息?
如果我想用简单的连接编写查询,我可以这样做:
select * from customer c
join order o
on c.customerid = o.customerid
where c.customerid = 100
Run Code Online (Sandbox Code Playgroud)
这一切都很好.在这个查询中,是否有必要指定表别名 - 即.c.customerid?为什么我不能写这个:
select * from customer c
join order o
on c.customerid = o.customerid
where customerid = 100
Run Code Online (Sandbox Code Playgroud)
我收到了错误Ambiguous column name 'customerid'.在这种情况下,WHERE子句中只有一列,并且它是我正在加入的列,这实际上是"模棱两可"吗?或者只是遵守ansi标准(我猜这里 - 我不知道它是否符合要求)并鼓励良好的编码约定?
我有一个看起来像这样的表:
CREATE TABLE CustomerXmlData
(CustomerId int,
CustomerData xml)
Run Code Online (Sandbox Code Playgroud)
CustomerId链接到主customer表,CustomerData是一个xml文档,如下所示
<Person>
<Product>
<Name>ABC</Name>
<Value>500</Value>
</Product>
<Product>
<Name>XYZ</Name>
<Value>600</Value>
</Product>
</Person>
Run Code Online (Sandbox Code Playgroud)
有几十万个这样的行.在伪代码,我想要做的是"求其平均值Value的Product地方Name='XYZ’".
我知道如何根据元素属性或基于文档中具有唯一性的父元素来获取值,但在这种情况下这些都不是任何用途.我找不到任何可以让我找到Name我想要的东西,然后获得下一个兄弟的价值.
我可以使用FOR XML并创建一个边表,但是我是否必须使用游标遍历它?我希望有一个更有效的解决方案.