小编jj2*_*jj2的帖子

SQL:具有不同条件的多个计数语句

我只是想知道是否有任何方法可以使用一个查询从表中获得两个单独的"计数"总计?也就是说,使用类似于下面的表我想检索每个代码(不同)并显示状态总数'不等于X或D,然后有一个额外的列显示状态总数'相等到X或D并且取消日期大于给定日期(例如,最近14天).

表:

Code:  Status  Cancel_Date
-----------------------------------
AAA    X       2012-02-01
AAA
BBB    X       2012-02-01
AAA    D       2012-01-01
AAA
BBB    
BBB    D       2012-02-01
BBB    X       2012-01-01
Run Code Online (Sandbox Code Playgroud)

示例结果(基于以上数据):

Code:  TotalNotXorD     TotalXorD
------------------------------------
AAA    2                1
BBB    1                2
Run Code Online (Sandbox Code Playgroud)

TotalNotXorD:例如

select code, count(*) 
from table 
where status not in('X','D') 
group by code
Run Code Online (Sandbox Code Playgroud)

TotalXorD:例如

select code, count(*) 
from table 
where status in('X','D') 
  and cancel_date >= '2012-02-01' 
group by code
Run Code Online (Sandbox Code Playgroud)

我已经看过做子查询等但我似乎无法得到我需要的结果.

有任何想法吗?

谢谢.

sql count

23
推荐指数
1
解决办法
4万
查看次数

ColdFusion EncodeForHTML 和换行符

在 ColdFusion 中使用 EncodeForHTML 时,换行符 (\n) 和回车符 (\r) 会转换为哪些字符?我已经尝试了所有我能想到的(或在网上找到的),但在我的 REReplace 语句中找不到我需要使用的东西,以便在编码后转换为 break (br) 标签(我需要这样做以进行显示)。

我想做的是类似的事情

#REReplace(EncodeForHTML(myVar), "html encoded newline etc chars", "<br />", "all")#
Run Code Online (Sandbox Code Playgroud)

但是,因为我无法弄清楚换行符和回车符被转换为唯一的方法,我可以让它在 EncodeForHTML 之前和之后执行 REReplace,这似乎不是很明智或有效。例如:

#REReplace(EncodeForHTML(REReplace(myVar, "\r\n|\n\r|\n|\r", "<br />", "all")), "&lt;br &##x2f;&gt;", "<br />", "all")#
Run Code Online (Sandbox Code Playgroud)

我正在使用 CF 10。

replace newline html-encode carriage-return coldfusion-10

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