Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. Query using multiple columns in IN Clause

Query using multiple columns in IN Clause

Scheduled Pinned Locked Moved Database
database
13 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Syed Mehroz Alam

    If I understand you correctly, you just need a simple inner join.

    Select ...
    From YourPrimaryTable
    InnerJoin YourDetailTable
    on YourPrimaryTable.Column1 = YourDetailTable.Column1
    and YourPrimaryTable.Column2 = YourDetailTable.Column2
    ...

    Hope that helps. Syed Mehroz Alam

    My Articles

    C Offline
    C Offline
    CodalcoholicNBrainy
    wrote on last edited by
    #3

    Thanks for your reply. :-D :-D Can we do the same thing without taking join. I mean can we use IN clause for multiple columns?

    CodeManiac xxxxxxxxxx xxxxxxxxxx

    S 1 Reply Last reply
    0
    • C CodalcoholicNBrainy

      Thanks for your reply. :-D :-D Can we do the same thing without taking join. I mean can we use IN clause for multiple columns?

      CodeManiac xxxxxxxxxx xxxxxxxxxx

      S Offline
      S Offline
      Syed Mehroz Alam
      wrote on last edited by
      #4

      Confusing...I wonder what do you need. Can you explain using a simple example.

      My Articles

      C 1 Reply Last reply
      0
      • C CodalcoholicNBrainy

        Hi Everyone, I am having one table which contains 5 columns. These five columns together contitute the primary key. I am having one more table which contains data for these primary key. I need to write a query which will bring the data from the second table for those primary keys which are available in first table. :doh: :doh: :doh: :doh:

        CodeManiac xxxxxxxxxx xxxxxxxxxx

        B Offline
        B Offline
        Blue_Boy
        wrote on last edited by
        #5

        select FirstTable.*,SecondTable.* from FirstTable,SecondTable where SecondTable.FirstTableColumn in (FirstTable.FirstColumn)


        I Love T-SQL "Don't torture yourself,let the life to do it for you."

        1 Reply Last reply
        0
        • S Syed Mehroz Alam

          Confusing...I wonder what do you need. Can you explain using a simple example.

          My Articles

          C Offline
          C Offline
          CodalcoholicNBrainy
          wrote on last edited by
          #6

          Sorry to confuse you. Let me explain you complete scenario. I am having two databases DB1 and DB2. DB1 has single table T1 and 15 columns namely C1, C2, C3 etc. DB2 has two table T1 and T2. T1 table is identical in both the databases. So T1 table has same 15 columns and same data in both the databases. T2 has 5 columns C1, C2, C3, C4,C5 which together constitute primary key. In T1 table of DB1 database, some of the records are modified. T2 table of database DB2 has the primary keys of all the modified records. I need to update table T1 of database DB2 for the modified records. I need a way to accomplish this. Hopefully I am clear now.

          CodeManiac xxxxxxxxxx xxxxxxxxxx

          S B P 3 Replies Last reply
          0
          • C CodalcoholicNBrainy

            Sorry to confuse you. Let me explain you complete scenario. I am having two databases DB1 and DB2. DB1 has single table T1 and 15 columns namely C1, C2, C3 etc. DB2 has two table T1 and T2. T1 table is identical in both the databases. So T1 table has same 15 columns and same data in both the databases. T2 has 5 columns C1, C2, C3, C4,C5 which together constitute primary key. In T1 table of DB1 database, some of the records are modified. T2 table of database DB2 has the primary keys of all the modified records. I need to update table T1 of database DB2 for the modified records. I need a way to accomplish this. Hopefully I am clear now.

            CodeManiac xxxxxxxxxx xxxxxxxxxx

            S Offline
            S Offline
            Syed Mehroz Alam
            wrote on last edited by
            #7

            I got it now. This seems a difficult issue. I suggest you to create some trigger on db1.T1 that updates the modified rows in db2. If you still want to use some batch update, the most inappropriate way will be to use a cursor loop. But wait, lets hope someone else in the forum finds a more efficient way. Good luck. Syed Mehroz Alam

            My Articles

            1 Reply Last reply
            0
            • C CodalcoholicNBrainy

              Sorry to confuse you. Let me explain you complete scenario. I am having two databases DB1 and DB2. DB1 has single table T1 and 15 columns namely C1, C2, C3 etc. DB2 has two table T1 and T2. T1 table is identical in both the databases. So T1 table has same 15 columns and same data in both the databases. T2 has 5 columns C1, C2, C3, C4,C5 which together constitute primary key. In T1 table of DB1 database, some of the records are modified. T2 table of database DB2 has the primary keys of all the modified records. I need to update table T1 of database DB2 for the modified records. I need a way to accomplish this. Hopefully I am clear now.

              CodeManiac xxxxxxxxxx xxxxxxxxxx

              B Offline
              B Offline
              Blue_Boy
              wrote on last edited by
              #8

              You have to create any trigger or you can make changes on T1 of DB2 something like query down below which you execute that both querys at same time: Update DB1.dbo.T1 set DB1.dbo.T1.column='value' where DB1.dbo.T1.colname ='conditionvaue' Update DB2.dbo.T1 set DB2.dbo.T1.column='value' where DB2.dbo.T1.colname ='conditionvaue'


              I Love T-SQL "Don't torture yourself,let the life to do it for you."

              1 Reply Last reply
              0
              • C CodalcoholicNBrainy

                Sorry to confuse you. Let me explain you complete scenario. I am having two databases DB1 and DB2. DB1 has single table T1 and 15 columns namely C1, C2, C3 etc. DB2 has two table T1 and T2. T1 table is identical in both the databases. So T1 table has same 15 columns and same data in both the databases. T2 has 5 columns C1, C2, C3, C4,C5 which together constitute primary key. In T1 table of DB1 database, some of the records are modified. T2 table of database DB2 has the primary keys of all the modified records. I need to update table T1 of database DB2 for the modified records. I need a way to accomplish this. Hopefully I am clear now.

                CodeManiac xxxxxxxxxx xxxxxxxxxx

                P Offline
                P Offline
                PIEBALDconsult
                wrote on last edited by
                #9

                Perhaps an inner join in the update?

                UPDATE T1
                SET ...
                FROM T1
                INNER JOIN T2
                ON T1.blah=T2.blah
                AND ...

                C 1 Reply Last reply
                0
                • P PIEBALDconsult

                  Perhaps an inner join in the update?

                  UPDATE T1
                  SET ...
                  FROM T1
                  INNER JOIN T2
                  ON T1.blah=T2.blah
                  AND ...

                  C Offline
                  C Offline
                  CodalcoholicNBrainy
                  wrote on last edited by
                  #10

                  Just one more thing that this process will happen in Batch.

                  CodeManiac xxxxxxxxxx xxxxxxxxxx

                  P 1 Reply Last reply
                  0
                  • C CodalcoholicNBrainy

                    Just one more thing that this process will happen in Batch.

                    CodeManiac xxxxxxxxxx xxxxxxxxxx

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #11

                    What does that mean?

                    C 1 Reply Last reply
                    0
                    • P PIEBALDconsult

                      What does that mean?

                      C Offline
                      C Offline
                      CodalcoholicNBrainy
                      wrote on last edited by
                      #12

                      I mean the proces will happen every night for the data that changed during day time.

                      CodeManiac xxxxxxxxxx xxxxxxxxxx

                      P 1 Reply Last reply
                      0
                      • C CodalcoholicNBrainy

                        I mean the proces will happen every night for the data that changed during day time.

                        CodeManiac xxxxxxxxxx xxxxxxxxxx

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #13

                        Shouldn't be a problem then. I always try to have the database engine do most of the work.

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups