小编Rom*_*esh的帖子

从组中获取最大计数

我很难在sql中获取组函数的输出.Below是表的详细信息

我有1个表的名称"检查"有2列pid,cid

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PID                                                VARCHAR2(20)
 CID                                                VARCHAR2(20)
Run Code Online (Sandbox Code Playgroud)

以下是可用的行

select * from checks;

PID                  CID
-------------------- --------------------
p1                   c1
p1                   c1
p1                   c2
p1                   c2
p1                   c2
p2                   c1
p2                   c1
p2                   c1
p2                   c1
p2                   c1
p2                   c1
p2                   c2
p2                   c2
p2                   c2
p2                   c2
p2                   c2
Run Code Online (Sandbox Code Playgroud)

P代表参与者,c代表类别

我需要知道哪个参与者参与哪个类别参与者最多参与哪个类别(对于每个参与者)

预期结果:

pid   cid    count(cid)
---   ---    -----------
p1    c2         3
p2    c1         6
Run Code Online (Sandbox Code Playgroud)

sql group-by max

7
推荐指数
2
解决办法
1703
查看次数

DateTime.Parse抛出异常"System.Globalization.GregorianCalendar中不支持"

string formatString = "MMddyyyyHHmmss";
string sample = "20100611221912";
DateTime dt = DateTime.ParseExact(sample, formatString, System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

抛出的具体异常是:

System.FormatException:日历System.Globalization.GregorianCalendar中不支持由字符串表示的DateTime.

c# string datetime

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

Oracle Update并返回一个值

我有一Update Statement张大容量表.它一次只更新一行.

Update MyTable
Set Col1 = Value
where primary key filters
Run Code Online (Sandbox Code Playgroud)

有了这个更新语句被执行,我还想要一个值作为回报,以避免Select Query在同一个表上节省资源.我的语法是什么来实现这一目标?

oracle syntax sql-update

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

如果发生NULL,则拒绝行的条款

理论问题......

当触发下面给出的一组查询时...

Create table Temp1(C1 varchar(2))
Create table Temp2(C1 varchar(2))
insert into Temp1 Values('A'),(NULL),('B')
insert into Temp2 Values('B'),(NULL),('C'),(NULL)

select *from Temp1 A,Temp2 B
where A.C1 <> B.C1
Run Code Online (Sandbox Code Playgroud)

...给...

实际结果

A.C1 <> B.C1Where条款中使用过.


但我希望......

在此输入图像描述

要获得预期结果作为输出,我需要ISNULL(A.C1,'') <> ISNULL(B.C1,'')在该Where子句中使用.

我的问题是为什么我需要ISNULL每次都按预期使用输出,因为NULL它不等于任何字符串数据.

sql sql-server null isnull sql-server-2008

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

组和排序部分未显示所有字段

我在中创建了一份报告Crystal Report 7.我修改了报告所依赖的视图.
当我点击时Verify Database添加新字段Field's list.
修改View后,我需要更改报告的分组顺序.当我在Fields Explorer中搜索时,所有字段都存在,但在Group Box中,这些字段不会出现.我错过了什么,请帮忙.


在此输入图像描述
在此输入图像描述
此外,在Visual Linking Expert选项卡Browse Field中禁用,并且启用休息.
在此输入图像描述

crystal-reports crystal-reports-7

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

编译为中级类型

这对我来说是一种学习.

编译到什么输出类型如何编译C# Class LibraryIntermediate File,但是Not DLL,可以在没有源代码的情况下在其他项目中使用,也可以不将其传递给最终用户.

根据我的知识,这在Delphi/C/C++中是可以实现的.

c#

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

消息2812:"使用动态脚本创建表"

我想用动态SQL创建一个表.

如果我使用创建表

CREATE Table TodayTemp(id varchar(20))
DROP TABLE TodayTemp
Run Code Online (Sandbox Code Playgroud)

那就没问题了.它工作正常.但是使用它的问题是我无法动态创建列.因此,我尝试在变量中使用存储创建脚本,然后最终使用EXEC命令执行它们.

喜欢

Declare @CreateTableCmd varchar(max)
SET @CreateTableCmd = 'CREATE Table TodayTemp(id varchar(20))'
Exec @CreateTableCmd
Run Code Online (Sandbox Code Playgroud)

但这会导致错误

消息2812,级别16,状态62,行6
无法找到存储过程'CREATE Table TodayTemp(id varchar(20))'.

sql sql-server dynamic-tables sql-server-2008

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

如果窗口存在于背景中或前面,则使用AutoIt单击控件

我想单击EXE文件表单上的按钮.

以下是我尝试过的代码.

WinWaitActive("ABCD")
ControlClick("ABCD","Defer","[CLASS:Button; INSTANCE:2]")
Run("ClickDefer.exe")
Run Code Online (Sandbox Code Playgroud)
  • 第一行,WinWaitActive("ABCD")等到名为ABCD的窗口成为焦点.
  • 第二行单击按钮,Defer
  • 第三行运行相同的EXE文件,以便在发生时处理相同的情况.

如果ABCD窗口成为焦点,这可以正常工作.如果不是焦点则不起作用.我该如何克服这个问题?

automation autoit

-1
推荐指数
1
解决办法
3万
查看次数

具有许多WHEN子句的案例结构

我有一个表(TestTable),数据如下

在此输入图像描述

我需要根据ColA,Age,Gender列值创建一个计算列"Band".如下

 CASE

 WHEN ColA='A' AND AGE=1 AND GENDER='M' THEN 'BANDX90'
 WHEN ColA='A' AND AGE=1 AND GENDER='F' THEN 'BANDX91'
 .
 .
 .
 .
 WHEN ColA='A' AND AGE=65 AND GENDER='M' THEN 'BANDX18'
 WHEN ColA='A' AND AGE=65 AND GENDER='F' THEN 'BANDX19'
 WHEN ColA='B' AND AGE=1  AND GENDER='M' THEN 'BANDX39'
 WHEN ColA='B' AND AGE=1  AND GENDER='F' THEN 'BANDX56'  
 ELSE NULL
 END AS BAND           
Run Code Online (Sandbox Code Playgroud)

注意:我的用户/客户为excel表中的不同 WHEN条件提供了BAND值('BANDX90',....).

上述CASE方法的缺点是,如果我在表中有500条记录,那么我必须使用CASE 'WHEN' STMT 500 TIMES哪个不是一个好的选择.

在计算列时,是否有人遇到过相同的情况?如果是,请分享您的建议!

有没有其他方法可以实现这一目标?

sql t-sql sql-server

-2
推荐指数
1
解决办法
166
查看次数