我在SQL上很糟糕.我不知道我想做什么是可能的.但是,由于我们的数据结构,我需要以这种方式解决这个问题或进行大规模的架构更改.
我试图计算一个国家的'省'(又名国家)的数量.但是,只有少数省份需要被忽视.因此,我试图检索一个国家列表,其中包括每个国家的省份数量.
举个例子,我需要查询美国,并忽略计数中的"华盛顿特区".原因是因为根据我们的要求,华盛顿特区不是一个州.这是我现在正在尝试的东西(它不起作用):
SELECT
c.Name AS 'CountryName',
ISNULL(COUNT(p.[ID]), 0) as 'ProvinceCount'
FROM
Country c LEFT OUTER JOIN [Province] p ON p.[CountryID]=c.[ID]
WHERE
c.[ID]=@idParameter and
p.[Name] <> 'Washington D.C.'
Run Code Online (Sandbox Code Playgroud)
可以想象,当idParameter与美国匹配时,此查询不会返回任何结果.
在异常情况下如何获得正确的计数?非常感谢您的帮助.
白天我写C#.我所做的一切都通过Microsoft代码分析和静态分析工具进行,因此我的C#具有非常规则的结构和布局.显然,我用某种风格编写代码.部分原因是因为我没有选择(如果我在逗号之前错过了一个空格就不会编译),但是定期看代码,知道在哪里寻找东西等等也很好.
在周末我要进入斯卡拉.看看Scala API和Lift Web框架源代码,我无法看到任何标准化的样式.例如,跳出来的一件事是每个类缺少一个单独的文件.与括号和括号缺乏一致性是另一个例子.
我理解推动这个问题的原因可能有几个:首先,使用开源(或爱好)代码确保一个明显的方法没有完全记录,这不是一个优先事项.其次,像case类这样的东西会将20行的类声明减少为一行.第三,C#是一种非常"平坦"的语言:除非它是一个复杂的LINQ语句,嵌套的parens,括号和括号的数量并不那么深.在Scala中,事情往往会有点嵌套.
常规的Scala用户是否具有他们坚持的特定风格?为了[异化]惯例,我只是把一个单行的案例类放在自己的文件中愚蠢吗?有小费吗?
我必须将部分字符串"SKILL_______EU_______WAND_______CLERIC_______BASE_____01"与"SKILL"进行比较.这是为了检查前四个字符是否为"SKILL".或者只是第一个字符,这里需要优化!
我的问题:
谢谢!
我有一堆数据,我想插入,我已决定使用批量插入mysql.
插入朋友(请求者,伙伴)值(value1,value2),(value2,value1),(value3,value4),(value4,value3),...
我想知道以下内容:
1)我可以使用忽略吗?例如
将ignore插入到friends(requestor,buddy)值(value1,value2),(value2,value1),(value3,value4),(value4,value3),...
如果我有重复会怎么样?它会a)不插入一切吗?b)在重复记录之前插入记录并在此之后停止处理数据?c)忽略重复并继续休息?
2)没有限制.我可以用于这样的批量插入的记录?
谢谢.
下面是我用来获取数据库中照片总数的当前代码,估计的数字甚至可以接受,因为结果数仅用于确定我要上传到文件夹余额的文件夹号.
我觉得有一种更好的方式,然后我在下面使用?
$sql = 'SELECT auto_id FROM friend_user_photo';
$query = executeQuery($sql);
$rowcount = mysql_num_rows($query);
Run Code Online (Sandbox Code Playgroud)
$ rowcount返回friend_user_photo表中的记录数
更新:
没有办法读取有关数据库的信息.那可能比使用上面的方法或COUNT更快?
OpenGL 3.x与2.x之间存在巨大差异吗?学习OpenGL 2.x是浪费时间还是他们都遵循相同的概念?我想我读到的地方2.x是基于状态的而且3.x不是,这是正确的吗?
$rex = '/^[^<,"@?=>|;#]$/i';
Run Code Online (Sandbox Code Playgroud)
我在使用这个正则表达式时遇到了麻烦.我们的想法是检查输入字段是否存在某些字符,如果存在,则抛出错误.
这个正则表达式为每个超过1个字符的字符串抛出错误.谁能告诉我我做错了什么?
编辑:人们说他们看不到我想用这个正则表达式做什么.我想要做的是如果以下字符之一是输入字符串的一部分,则拒绝输入:
<>,"@?= |;#
EDIT2:JG的"有效"正则表达式可以解决这个问题.
如果我使用lgpl许可的JavaScript库,我是否必须发布使用它的封闭源Web应用程序?
我觉得我没必要,只要我不修改库的来源.
我想在商业闭源环境中使用lgpl javascript wysiwyg.
封闭源Web应用程序永远不会分发(取决于分发的定义如何应用于网站),最终用户只能访问它.
我发现gpl和lgpl非常混乱,因为它们适用于网络.
我也很困惑什么构成"分配".
我可以使用C-h c
(describe-key-briefly
)并键入一个组合键,它将返回绑定到它的函数.但我还想只键入一个键组合的前缀,并让它列出并描述绑定到以它开头的键序列的所有函数,如"以...开头的所有绑定键C-x
".
我正在使用Tamir的SharpPCap尝试将数据发送到我的msn.
目前,出于测试目的,我的想法是等待mymsn@msn.com收到的任何消息,然后再次发送数据包,也就是说,在我的msn上永远重复显示任何消息.我认为这必须工作,因为我只是收到我收到的数据包,然后重新发送它.
出于某种原因,我的msn上没有任何内容,虽然我会在控制台中看到很多"抓住数据,重新发送".有任何想法吗?谢谢
class Program {
static PcapDevice device;
static void Main(string[] args) {
device = SharpPcap.GetAllDevices()[0];
device.PcapOnPacketArrival +=
new SharpPcap.PacketArrivalEvent(device_PcapOnPacketArrival2);
device.PcapOpen(true, 1000);
device.PcapStartCapture();
Console.ReadKey();
}
static void device_PcapOnPacketArrival2(object sender, Packet packet) {
TCPPacket tcpPacket = packet as TCPPacket;
if (tcpPacket == null) {
return;
}
string data = Encoding.Default.GetString(tcpPacket.Data);
if (!data.StartsWith("MSG mymsn@msn.com")) {
return;
}
Console.WriteLine("caught data, resending it");
device.PcapSendPacket(tcpPacket);
}
}
Run Code Online (Sandbox Code Playgroud)