none
Remove child records from query

    Question

  • Hi

    I want to display all records but remove records which have a ID count greater than 1 if that record exits where [Has children]=1

    so

    DECLARE @tmp table (Rowno int,    CompanyID int, GEO nvarchar(100),    [Has Children] int,     ID int,    Colour nvarchar(50),    [2007] decimal(18,2),    [2008]    decimal(18,2) )

    insert into @tmp values (1, 1234, 'Worldwide',    1, 164, 'red', 12.3, 34.4)
    insert into @tmp values (2, 1234, 'World',        0, 564, 'BLUE', 50.00, 30.0)
    insert into @tmp values (3, 1234, 'UK',            0, 564, 'BLUE', 40.00, 15.00)
    insert into @tmp values (4, 1234, 'Worldwide',    1, 564, 'BLUE', 10.00, 15.00)
    insert into @tmp values (5, 1234, 'Worldwide',    1, 10179, 'green', 62.3, 88.11)
    insert into @tmp values (6, 1234, 'Worldwide',    1, 9937, 'yellow', 12.3, 34.4)
    insert into @tmp values (7, 1234, 'World',        0, 9998, 'PINK', 11.64, 23.18)
    insert into @tmp values (8, 1234, 'UK',            0, 9998, 'PINK', 20.0, 40.4)
    insert into @tmp values (9, 1234, 'Worldwide',    1, 9998, 'PINK', 10.0, 30.4)
    insert into @tmp values (10, 1234, 'USA',    0, 1098, 'PURPLE', 10.0, 10.0)

    select * from @tmp

    outputs

    1    1234    Worldwide    1    164    red    12.30    34.40
    2    1234    World    0    564    BLUE    50.00    30.00
    3    1234    UK    0    564    BLUE    40.00    15.00
    4    1234    Worldwide    1    564    BLUE    10.00    15.00
    5    1234    Worldwide    1    10179    green    62.30    88.11
    6    1234    Worldwide    1    9937    yellow    12.30    34.40
    7    1234    World    0    9998    PINK    11.64    23.18
    8    1234    UK    0    9998    PINK    20.00    40.40
    9    1234    Worldwide    1    9998    PINK    10.00    30.40
    10    1234    USA    0    1098    PURPLE    10.00    10.00

    so I would want to remove rowno (2,3,7,8) as they are duplicate (child) record

    Tuesday, April 02, 2013 11:20 AM

Answers

All replies