存储过程会为每个表保留返回零。条款何处?

时间:2016-10-24 13:44:45

标签: sql-server tsql stored-procedures

CREATE PROCEDURE [SSIS].[usp_LifeCount]
AS
BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Clear the table to prevent duplicate data.
TRUNCATE TABLE SSIS.LivingMales
-- Insert statements for procedure here
INSERT INTO SSIS.LivingMales
(Males)
SELECT COUNT(SEX)
FROM SSIS.Marvels
WHERE (ALIVE = 'Living Character' AND SEX = 'Male Character');


-- Clear the table to prevent duplicate data.
TRUNCATE TABLE SSIS.LivingFemales
-- Insert statements for procedure here
INSERT INTO SSIS.LivingFemales
(Females)
SELECT COUNT(SEX)
FROM SSIS.Marvels
WHERE (ALIVE = 'Living Character' AND SEX = 'Female Character');

-- Clear the table to prevent duplicate data.
TRUNCATE TABLE SSIS.DeadMales
-- Insert statements for procedure here
INSERT INTO SSIS.DeadMales
(Males)
SELECT COUNT(SEX)
FROM SSIS.Marvels
WHERE (ALIVE = 'Deceased Character' AND SEX = 'Male Character');

-- Clear the table to prevent duplicate data.
TRUNCATE TABLE SSIS.DeadFemales
-- Insert statements for procedure here
INSERT INTO SSIS.DeadFemales
(Females)
SELECT COUNT(SEX)
FROM SSIS.Marvels
WHERE (ALIVE = 'Deceased Character' AND SEX = 'Female Character'); 
END

我试图得出有多少男性/女性角色活着和死亡的总数。我知道这是我的where子句。当我拿出它时,它返回所有而不是个人的总数。 Alive是SSIS.Marvels中的列名称

1 个答案:

答案 0 :(得分:0)

运行此选项以查看您的数据实际上是什么样的。

SELECT DISTINCT ALIVE, SEX FROM SSIS.Marvels

然后,您可以修复where子句以匹配您的数据。我们无法真正为您修复它们,因为我们不知道您的数据是什么样的。