How to get non duplicate values

Answered How to get non duplicate values

  • Wednesday, January 30, 2013 10:01 PM
     
     

    Hi All;

    Below is my  table, in which one client can go on multiple programmes

     i need to get those clients which are on programme Boss and not NEA

    Below should be the output

    Any help much appreciated

    Thanks


    Pradnya07

All Replies

  • Wednesday, January 30, 2013 10:07 PM
     
     Answered Has Code

    Try:

    SELECT [Client Name], [Programme Name]
    FROM Table t1
    WHERE [Programme Name] = 'Boss'
    AND NOT EXISTS
    (
     SELECT 1
     FROM Table
     WHERE [Programme Name] = 'NEA'
       AND [Client Name] = t1.[Client Name]
    );


    • Edited by Barry Marshall Wednesday, January 30, 2013 10:09 PM Typo on column
    • Proposed As Answer by SQL_Learn Thursday, January 31, 2013 2:32 AM
    • Marked As Answer by Simran08 Thursday, January 31, 2013 8:57 AM
    •  
  • Wednesday, January 30, 2013 10:08 PM
     
     Answered Has Code
    SELECT 
          [ClientName]
          ,[programme]
      FROM yourtable
      where programme = 'Boss'
      and clientName not in
      (
      SELECT 
          [ClientName]    
      FROM yourtable
      where programme = 'nea'
      
      )

    • Proposed As Answer by SQL_Learn Thursday, January 31, 2013 2:32 AM
    • Marked As Answer by Simran08 Thursday, January 31, 2013 8:59 AM
    •  
  • Wednesday, January 30, 2013 10:10 PM
     
     Answered Has Code
    With cte As
    (Select ClientName From YourTable Where ProgramName = 'Boss'
    Except
    Select ClientName From YourTable Where ProgramName = 'NEA')
    Select ClientName, 'Boss' As ProgramName
    From cte;

    Tom
    • Proposed As Answer by Satheesh Variath Thursday, January 31, 2013 2:33 AM
    • Marked As Answer by Simran08 Thursday, January 31, 2013 9:00 AM
    •  
  • Thursday, January 31, 2013 1:53 AM
     
     

    Try

    with cte as
    (select [Client name],count(distinct [Programme name]) cnt
    from tab1
    group by [Client name]
    having count(distinct [Programme name])=1)
    select [Client name],[Programme name]
    from tab1
    where [Client name] in(select [Client name]
    from cte);


    Many Thanks & Best Regards, Hua Min

    • Marked As Answer by Simran08 Thursday, January 31, 2013 9:00 AM
    • Unmarked As Answer by Simran08 Thursday, May 09, 2013 10:31 AM
    •  
  • Thursday, January 31, 2013 9:00 AM
     
     
    thanks all it worked  like a charm

    Pradnya07