Selecting Records

  • I have table contains two columns having below input records.

    Sample Input Records

    Column1   Column2
      A                  B
      A                  C
      A                  D
      R                 B
      R                 D
      S                 E

    In the above records if i give where condition Column2='D' it will display below output records.

    Output Records

    Column1   Column2
    A                  B
    A                  C
    A                  D
    R                 B
    R                 D
    Logic:In the Sample input records Column2='D' contains two records.These two records contain the colum1 values as 'A' and 'R'.so i want to display the records which contains 'A' and 'R' from the input records

    Suppose if i give where condition Column2='C' i it will display below output records.

    Output Records

    Column1   Column2
    A                  B
    A                  C
    A                  D

    Logic:In the Sample input records Column2='C' contains one record.These one record contain the colum1 value as 'A'.so i want to display the records which contains 'A' from the input records
    Please help.

  • jkramprakash - Wednesday, July 11, 2018 11:20 AM

    I have table contains two columns having below input records.

    Sample Input Records
    Column1   Column2
    A                 B
    A                 C
    A                 D
    R                 B
    R                 D
    S                 E

    In the above records if i give where condition Column2='D' it will display below output records.

    Output Records
    Column1   Column2
    A                 B
    A                 C
    A                 D
    R                B
    R                D
    Logic:In the Sample input records Column2='D' contains two records.These two records contain the colum1 values as 'A' and 'R'.so i want to display the records which contains 'A' and 'R' from the input records

    Suppose if i give where condition Column2='C' i it will display below output records.

    Output Records

    Column1   Column2
    A                 B
    A                 C
    A                 D

    Logic:In the Sample input records Column2='C' contains one record.These one record contain the colum1 value as 'A'.so i want to display the records which contains 'A' from the input records
    Please help.

    It helps if you provide the DDL scripts. Here is a way to do this

    create table t(x varchar(1),y varchar(1));

    insert into t values('A','B');
    insert into t values('A','C');
    insert into t values('A','D');
    insert into t values('R','B');
    insert into t values('R','D');
    insert into t values('S','E');

    select *
      from t
     where x in(select x from t where y in('D'))

  • Try this, and change the @Variable value as you see fit...
    CREATE TABLE #TEST (
        Column1 char(1),
        Column2 char(2)
    );
    INSERT INTO #TEST (Column1, Column2)
        VALUES    ('A', 'B'),
                ('A', 'C'),
                ('A', 'D'),
                ('R', 'B'),
                ('R', 'D'),
                ('S', 'E');

    DECLARE @Variable AS char(1) = 'C';

    SELECT *
    FROM #TEST AS T
    WHERE T.Column1 IN (
        SELECT DISTINCT T2.Column1
        FROM #TEST AS T2
        WHERE T2.Column2 = @Variable
        );

    DROP TABLE #TEST;

    Steve (aka sgmunson) 🙂 🙂 🙂
    Rent Servers for Income (picks and shovels strategy)

  • Thank You Very Much.

  • jkramprakash - Friday, July 13, 2018 9:19 AM

    Thank You Very Much.

    You are very welcome!

    Steve (aka sgmunson) 🙂 🙂 🙂
    Rent Servers for Income (picks and shovels strategy)

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply