小弟有如下这条 Sql 语句
F_ISNULLOREMPTY 为 sql 函数函数ALTER FUNCTION [dbo].[F_ISNULLOREMPTY](@check_expression SYSNAME, @replacement_value SYSNAME) RETURNS SYSNAME
AS
BEGIN
IF(@check_expression IS NULL OR LEN(@check_expression) = 0) RETURN @replacement_value
RETURN @check_expression
ENDSELECT dbo.F_ISNULLOREMPTY(COUNT(ID) ,0) AS num FROM V_TG_Client_Success
WHERE AgentID = 1 AND CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
AND MONTH(RegDate) IN (1,2,3,4,5,6,7,8,9,10,11,12)请问如何显示 12 条数据 如果查询不到 以 0 代替
但为何只能查询一条
F_ISNULLOREMPTY 为 sql 函数函数ALTER FUNCTION [dbo].[F_ISNULLOREMPTY](@check_expression SYSNAME, @replacement_value SYSNAME) RETURNS SYSNAME
AS
BEGIN
IF(@check_expression IS NULL OR LEN(@check_expression) = 0) RETURN @replacement_value
RETURN @check_expression
ENDSELECT dbo.F_ISNULLOREMPTY(COUNT(ID) ,0) AS num FROM V_TG_Client_Success
WHERE AgentID = 1 AND CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
AND MONTH(RegDate) IN (1,2,3,4,5,6,7,8,9,10,11,12)请问如何显示 12 条数据 如果查询不到 以 0 代替
但为何只能查询一条
sum(case when id is not null or LEN(id)) = 0 then 0 else 1 end) as num
FROM
V_TG_Client_Success
WHERE
AgentID = 1
AND
CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
AND
MONTH(RegDate) IN (1,2,3,4,5,6,7,8,9,10,11,12)
sum(case when id is not null or LEN(id)) = 0 then 0 else 1 end) as num
FROM
V_TG_Client_Success
WHERE
AgentID = 1
AND
CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
AND
MONTH(RegDate) IN ('1','2','3','4','5','6','7','8','9','10','11','12')如果不行的话希望给出测试数据
CONVERT(VARCHAR(4), RegDate, 120),sum(case when id is not null or LEN(id)) = 0 then 0 else 1 end) as num
FROM
V_TG_Client_Success
WHERE
AgentID = 1
AND
CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
AND
MONTH(RegDate) IN ('1','2','3','4','5','6','7','8','9','10','11','12')
group by
CONVERT(VARCHAR(4), RegDate, 120)
CONVERT(VARCHAR(7), RegDate, 120),sum(case when id is not null or LEN(id) = 0 then 0 else 1 end) as num
FROM
V_TG_Client_Success
WHERE
AgentID = 1
AND
CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
group byCONVERT(VARCHAR(7), RegDate, 120)
显示数据为
2011-01 0
2011-05 0
不知道那里错了 1 月份应该有 3 条记录的
3 1 AA A NULL NULL NULL 2011-05-01 00:00:00.000 2012-01-01 00:00:00.000 2 0
8 1 FF F NULL NULL NULL 2011-01-01 00:00:00.000 2012-11-01 00:00:00.000 2 0
9 1 GG G NULL NULL NULL 2011-01-01 00:00:00.000 2012-11-01 00:00:00.000 2 0
SELECT
CONVERT(VARCHAR(7), RegDate, 120) as regMonth ,COUNT(case when id is not null or LEN(id) = 0 then 0 else 1 end) as num
FROM
V_TG_Client_Success
WHERE
AgentID = 1
AND
CONVERT(VARCHAR(4), RegDate, 120) = CONVERT(VARCHAR(4), GETDATE(), 120)
group by
CONVERT(VARCHAR(7), RegDate, 120)