• Hi Joel,

    Thank you for the answer. I'm getting a little confused with the logic and I was wondering if you could help me finish it off please.I used the left outer join on the query for two reasons:

    1. I needed the presenterName, presenterGender,PresenterID to display the details even if they had zero votes.

    2. I needed to distinguish between the genders male / female

    The top part of the query that tallys the votes is working ok but I need a little help with the second half if you have the time.

    Sean thanks in advance

    !---------table presenters

    CREATE TABLE [dbo].[tblPresenters](

    [presenterID] [int] IDENTITY(1,1) NOT NULL,

    [presenterName] [varchar](150) COLLATE Latin1_General_CI_AS NULL,

    [presenterProfile] [text] COLLATE Latin1_General_CI_AS NULL,

    [presenterGender] [nchar](10) COLLATE Latin1_General_CI_AS NULL,

    [presenterAttribution] [varchar](250) COLLATE Latin1_General_CI_AS NULL,

    [presenterCreated] [datetime] NULL,

    [presenterLargeImage] [varchar](250) COLLATE Latin1_General_CI_AS NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    !------ table with votes

    !--------------------------------------

    declare @Gender varchar(20)

    set @Gender = 'female'

    DECLARE @TotalVotes int

    SELECT @TotalVotes = SUM(CASE WHEN VoteFor = 1 THEN 1

    WHEN VoteAgainst = 1 THEN -1

    ELSE 0

    END)

    from dbo.tblPresenters a

    left outer JOIN dbo.tblCompWeek_02 pr

    ON a.PresenterID = pr.PresenterID

    WHERE PresenterGender=@Gender

    SELECT

    pr2.presenterName,

    V.PresenterID,

    V.VoteFor,

    CAST(V.VoteFor * 1.00 / @TotalVotes as Decimal(3,2)) as VotePercentage

    FROM (--get votes for presenter

    SELECT

    pr2.PresenterID,

    SUM( CASE WHEN VoteFor = 1 THEN 1 WHEN VoteAgainst = 1 THEN -1 ELSE 0 END) as Votes

    FROM dbo.tblCompWeek_02 q

    left outer JOIN dbo.tblPresenters pr2

    ON q.PresenterID = pr2.PresenterID

    WHERE pr2.PresenterGender=@Gender

    GROUP BY

    q.PresenterID,pr2.PresenterID,pr2.PresenterGender) V