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. How to join two sql queries together?

How to join two sql queries together?

Scheduled Pinned Locked Moved Database
databasecsharpsysadmintutorialquestion
7 Posts 5 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.
  • T Offline
    T Offline
    turbosupramk3
    wrote on last edited by
    #1

    Hello, I am very green to sql, and normally program in c sharp. I have 2 GUI generated sql queries that I'd like to combine, then exclude the results (users) that are found in the second query, from the first query and finally return the new result set that has the second query data removed from the first data query. Here are the queries: Thanks for reading.

    SELECT AED.ObjectName,
    AED.ObjectCanonical,
    AEM.EventMessage,
    AED.OrganizationalUnit AS DirectoryOrganizationalUnit,
    AET.UserName,
    AET.SeverityID,
    AET.TimeDetected,
    AET.ValueOld,
    AET.ValueNew,
    ECS.SubsystemID,
    ISNULL(ECS.CustomEventClassName, ECS.EventClassName) AS EventClassName,
    ISNULL(TSR.ServerName, TWP.MachineName) AS ServerName,
    EAN.ActionName,
    ISNULL(TDN.DomainName, TWP.WorkgroupName) AS DomainName,
    AET.ResultID,
    AET.EventID,
    ECS.ValueTypeID,
    AET.MissingOld,
    AET.MissingNew,
    AET.TimeZoneOffset
    FROM Audit.Event AS AET
    INNER JOIN [Event].Class AS ECS
    ON AET.EventClassID = ECS.EventClassID
    INNER JOIN Audit.EventMessage AS AEM
    ON AET.EventID = AEM.EventID
    INNER JOIN [Event].[Action] AS EAN
    ON AET.ActionID = EAN.ActionID
    LEFT OUTER JOIN Topology.[Server] AS TSR
    ON AET.AgentID = TSR.ServerID
    LEFT OUTER JOIN Topology.Domain AS TDN
    ON TSR.DomainID = TDN.DomainID
    LEFT OUTER JOIN Topology.Workgroup AS TWP
    ON AET.AgentID = TWP.MachineID
    LEFT OUTER JOIN Audit.EventDirectory AS AED
    ON AET.EventID = AED.EventID
    WHERE AET.TimeDetected >= '2012-06-07T04:00:00'
    AND EXISTS(SELECT AET.EventID
    FROM [Event].Class AS _EC
    WHERE EXISTS(SELECT *
    FROM Query.EventClass AS _ECQ
    WHERE _ECQ.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'
    AND _ECQ.ProcessID = 0
    AND StorageClassID = 0
    AND _ECQ.EventClassID = _EC.EventClassID)
    AND _EC.EventClassID = AET.EventClassID)
    AND NOT EXISTS(SELECT *
    FROM (SELECT _QA.SID AS UserSID
    FROM Query.[Account] AS _QA
    WHERE

    M O P N 4 Replies Last reply
    0
    • T turbosupramk3

      Hello, I am very green to sql, and normally program in c sharp. I have 2 GUI generated sql queries that I'd like to combine, then exclude the results (users) that are found in the second query, from the first query and finally return the new result set that has the second query data removed from the first data query. Here are the queries: Thanks for reading.

      SELECT AED.ObjectName,
      AED.ObjectCanonical,
      AEM.EventMessage,
      AED.OrganizationalUnit AS DirectoryOrganizationalUnit,
      AET.UserName,
      AET.SeverityID,
      AET.TimeDetected,
      AET.ValueOld,
      AET.ValueNew,
      ECS.SubsystemID,
      ISNULL(ECS.CustomEventClassName, ECS.EventClassName) AS EventClassName,
      ISNULL(TSR.ServerName, TWP.MachineName) AS ServerName,
      EAN.ActionName,
      ISNULL(TDN.DomainName, TWP.WorkgroupName) AS DomainName,
      AET.ResultID,
      AET.EventID,
      ECS.ValueTypeID,
      AET.MissingOld,
      AET.MissingNew,
      AET.TimeZoneOffset
      FROM Audit.Event AS AET
      INNER JOIN [Event].Class AS ECS
      ON AET.EventClassID = ECS.EventClassID
      INNER JOIN Audit.EventMessage AS AEM
      ON AET.EventID = AEM.EventID
      INNER JOIN [Event].[Action] AS EAN
      ON AET.ActionID = EAN.ActionID
      LEFT OUTER JOIN Topology.[Server] AS TSR
      ON AET.AgentID = TSR.ServerID
      LEFT OUTER JOIN Topology.Domain AS TDN
      ON TSR.DomainID = TDN.DomainID
      LEFT OUTER JOIN Topology.Workgroup AS TWP
      ON AET.AgentID = TWP.MachineID
      LEFT OUTER JOIN Audit.EventDirectory AS AED
      ON AET.EventID = AED.EventID
      WHERE AET.TimeDetected >= '2012-06-07T04:00:00'
      AND EXISTS(SELECT AET.EventID
      FROM [Event].Class AS _EC
      WHERE EXISTS(SELECT *
      FROM Query.EventClass AS _ECQ
      WHERE _ECQ.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'
      AND _ECQ.ProcessID = 0
      AND StorageClassID = 0
      AND _ECQ.EventClassID = _EC.EventClassID)
      AND _EC.EventClassID = AET.EventClassID)
      AND NOT EXISTS(SELECT *
      FROM (SELECT _QA.SID AS UserSID
      FROM Query.[Account] AS _QA
      WHERE

      M Offline
      M Offline
      Mycroft Holmes
      wrote on last edited by
      #2

      Read up on Union or Union All

      Never underestimate the power of human stupidity RAH

      1 Reply Last reply
      0
      • T turbosupramk3

        Hello, I am very green to sql, and normally program in c sharp. I have 2 GUI generated sql queries that I'd like to combine, then exclude the results (users) that are found in the second query, from the first query and finally return the new result set that has the second query data removed from the first data query. Here are the queries: Thanks for reading.

        SELECT AED.ObjectName,
        AED.ObjectCanonical,
        AEM.EventMessage,
        AED.OrganizationalUnit AS DirectoryOrganizationalUnit,
        AET.UserName,
        AET.SeverityID,
        AET.TimeDetected,
        AET.ValueOld,
        AET.ValueNew,
        ECS.SubsystemID,
        ISNULL(ECS.CustomEventClassName, ECS.EventClassName) AS EventClassName,
        ISNULL(TSR.ServerName, TWP.MachineName) AS ServerName,
        EAN.ActionName,
        ISNULL(TDN.DomainName, TWP.WorkgroupName) AS DomainName,
        AET.ResultID,
        AET.EventID,
        ECS.ValueTypeID,
        AET.MissingOld,
        AET.MissingNew,
        AET.TimeZoneOffset
        FROM Audit.Event AS AET
        INNER JOIN [Event].Class AS ECS
        ON AET.EventClassID = ECS.EventClassID
        INNER JOIN Audit.EventMessage AS AEM
        ON AET.EventID = AEM.EventID
        INNER JOIN [Event].[Action] AS EAN
        ON AET.ActionID = EAN.ActionID
        LEFT OUTER JOIN Topology.[Server] AS TSR
        ON AET.AgentID = TSR.ServerID
        LEFT OUTER JOIN Topology.Domain AS TDN
        ON TSR.DomainID = TDN.DomainID
        LEFT OUTER JOIN Topology.Workgroup AS TWP
        ON AET.AgentID = TWP.MachineID
        LEFT OUTER JOIN Audit.EventDirectory AS AED
        ON AET.EventID = AED.EventID
        WHERE AET.TimeDetected >= '2012-06-07T04:00:00'
        AND EXISTS(SELECT AET.EventID
        FROM [Event].Class AS _EC
        WHERE EXISTS(SELECT *
        FROM Query.EventClass AS _ECQ
        WHERE _ECQ.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'
        AND _ECQ.ProcessID = 0
        AND StorageClassID = 0
        AND _ECQ.EventClassID = _EC.EventClassID)
        AND _EC.EventClassID = AET.EventClassID)
        AND NOT EXISTS(SELECT *
        FROM (SELECT _QA.SID AS UserSID
        FROM Query.[Account] AS _QA
        WHERE

        O Offline
        O Offline
        Osama Bin Laden 2012
        wrote on last edited by
        #3

        You can use "Except Distinct" !

        1 Reply Last reply
        0
        • T turbosupramk3

          Hello, I am very green to sql, and normally program in c sharp. I have 2 GUI generated sql queries that I'd like to combine, then exclude the results (users) that are found in the second query, from the first query and finally return the new result set that has the second query data removed from the first data query. Here are the queries: Thanks for reading.

          SELECT AED.ObjectName,
          AED.ObjectCanonical,
          AEM.EventMessage,
          AED.OrganizationalUnit AS DirectoryOrganizationalUnit,
          AET.UserName,
          AET.SeverityID,
          AET.TimeDetected,
          AET.ValueOld,
          AET.ValueNew,
          ECS.SubsystemID,
          ISNULL(ECS.CustomEventClassName, ECS.EventClassName) AS EventClassName,
          ISNULL(TSR.ServerName, TWP.MachineName) AS ServerName,
          EAN.ActionName,
          ISNULL(TDN.DomainName, TWP.WorkgroupName) AS DomainName,
          AET.ResultID,
          AET.EventID,
          ECS.ValueTypeID,
          AET.MissingOld,
          AET.MissingNew,
          AET.TimeZoneOffset
          FROM Audit.Event AS AET
          INNER JOIN [Event].Class AS ECS
          ON AET.EventClassID = ECS.EventClassID
          INNER JOIN Audit.EventMessage AS AEM
          ON AET.EventID = AEM.EventID
          INNER JOIN [Event].[Action] AS EAN
          ON AET.ActionID = EAN.ActionID
          LEFT OUTER JOIN Topology.[Server] AS TSR
          ON AET.AgentID = TSR.ServerID
          LEFT OUTER JOIN Topology.Domain AS TDN
          ON TSR.DomainID = TDN.DomainID
          LEFT OUTER JOIN Topology.Workgroup AS TWP
          ON AET.AgentID = TWP.MachineID
          LEFT OUTER JOIN Audit.EventDirectory AS AED
          ON AET.EventID = AED.EventID
          WHERE AET.TimeDetected >= '2012-06-07T04:00:00'
          AND EXISTS(SELECT AET.EventID
          FROM [Event].Class AS _EC
          WHERE EXISTS(SELECT *
          FROM Query.EventClass AS _ECQ
          WHERE _ECQ.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'
          AND _ECQ.ProcessID = 0
          AND StorageClassID = 0
          AND _ECQ.EventClassID = _EC.EventClassID)
          AND _EC.EventClassID = AET.EventClassID)
          AND NOT EXISTS(SELECT *
          FROM (SELECT _QA.SID AS UserSID
          FROM Query.[Account] AS _QA
          WHERE

          P Offline
          P Offline
          pmpdesign
          wrote on last edited by
          #4

          INTERSECT

          might also be useful for this scenario.

          T 1 Reply Last reply
          0
          • P pmpdesign

            INTERSECT

            might also be useful for this scenario.

            T Offline
            T Offline
            turbosupramk3
            wrote on last edited by
            #5

            Hello, I have tried inserting those commands into various locations in the query, without success. Could someone give me an example please?

            1 Reply Last reply
            0
            • T turbosupramk3

              Hello, I am very green to sql, and normally program in c sharp. I have 2 GUI generated sql queries that I'd like to combine, then exclude the results (users) that are found in the second query, from the first query and finally return the new result set that has the second query data removed from the first data query. Here are the queries: Thanks for reading.

              SELECT AED.ObjectName,
              AED.ObjectCanonical,
              AEM.EventMessage,
              AED.OrganizationalUnit AS DirectoryOrganizationalUnit,
              AET.UserName,
              AET.SeverityID,
              AET.TimeDetected,
              AET.ValueOld,
              AET.ValueNew,
              ECS.SubsystemID,
              ISNULL(ECS.CustomEventClassName, ECS.EventClassName) AS EventClassName,
              ISNULL(TSR.ServerName, TWP.MachineName) AS ServerName,
              EAN.ActionName,
              ISNULL(TDN.DomainName, TWP.WorkgroupName) AS DomainName,
              AET.ResultID,
              AET.EventID,
              ECS.ValueTypeID,
              AET.MissingOld,
              AET.MissingNew,
              AET.TimeZoneOffset
              FROM Audit.Event AS AET
              INNER JOIN [Event].Class AS ECS
              ON AET.EventClassID = ECS.EventClassID
              INNER JOIN Audit.EventMessage AS AEM
              ON AET.EventID = AEM.EventID
              INNER JOIN [Event].[Action] AS EAN
              ON AET.ActionID = EAN.ActionID
              LEFT OUTER JOIN Topology.[Server] AS TSR
              ON AET.AgentID = TSR.ServerID
              LEFT OUTER JOIN Topology.Domain AS TDN
              ON TSR.DomainID = TDN.DomainID
              LEFT OUTER JOIN Topology.Workgroup AS TWP
              ON AET.AgentID = TWP.MachineID
              LEFT OUTER JOIN Audit.EventDirectory AS AED
              ON AET.EventID = AED.EventID
              WHERE AET.TimeDetected >= '2012-06-07T04:00:00'
              AND EXISTS(SELECT AET.EventID
              FROM [Event].Class AS _EC
              WHERE EXISTS(SELECT *
              FROM Query.EventClass AS _ECQ
              WHERE _ECQ.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'
              AND _ECQ.ProcessID = 0
              AND StorageClassID = 0
              AND _ECQ.EventClassID = _EC.EventClassID)
              AND _EC.EventClassID = AET.EventClassID)
              AND NOT EXISTS(SELECT *
              FROM (SELECT _QA.SID AS UserSID
              FROM Query.[Account] AS _QA
              WHERE

              N Offline
              N Offline
              Niju1
              wrote on last edited by
              #6

              use EXCEPT between two queries

              T 1 Reply Last reply
              0
              • N Niju1

                use EXCEPT between two queries

                T Offline
                T Offline
                turbosupramk3
                wrote on last edited by
                #7

                Someone helped me come up with this code today, it appears to be producing the proper results, what does every one think? It uses And UserName Not In, and brings in the second search to compare.

                -- Mailbox size query users who are set to unlimited, distinct username field with disabled mailboxes removed from search
                SELECT AED.ObjectName,
                AED.ObjectCanonical,
                AEM.EventMessage,
                AED.OrganizationalUnit AS DirectoryOrganizationalUnit,
                AET.UserName,
                AET.SeverityID,
                AET.TimeDetected,
                AET.ValueOld,
                AET.ValueNew,
                ECS.SubsystemID,
                ISNULL(ECS.CustomEventClassName, ECS.EventClassName) AS EventClassName,
                ISNULL(TSR.ServerName, TWP.MachineName) AS ServerName,
                EAN.ActionName,
                ISNULL(TDN.DomainName, TWP.WorkgroupName) AS DomainName,
                AET.ResultID,
                AET.EventID,
                ECS.ValueTypeID,
                AET.MissingOld,
                AET.MissingNew,
                AET.TimeZoneOffset
                FROM Audit.Event AS AET
                INNER JOIN [Event].Class AS ECS
                ON AET.EventClassID = ECS.EventClassID
                INNER JOIN Audit.EventMessage AS AEM
                ON AET.EventID = AEM.EventID
                INNER JOIN [Event].[Action] AS EAN
                ON AET.ActionID = EAN.ActionID
                LEFT OUTER JOIN Topology.[Server] AS TSR
                ON AET.AgentID = TSR.ServerID
                LEFT OUTER JOIN Topology.Domain AS TDN
                ON TSR.DomainID = TDN.DomainID
                LEFT OUTER JOIN Topology.Workgroup AS TWP
                ON AET.AgentID = TWP.MachineID
                LEFT OUTER JOIN Audit.EventDirectory AS AED
                ON AET.EventID = AED.EventID
                WHERE AET.TimeDetected >= '2012-06-08T04:00:00'
                AND EXISTS(SELECT AET.EventID
                FROM [Event].Class AS _EC
                WHERE EXISTS(SELECT *
                FROM Query.EventClass AS _ECQ
                WHERE _ECQ.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'
                AND _ECQ.ProcessID = 0
                AND StorageClassID = 0
                AND _ECQ.EventClassID = _EC.EventClassID)
                AND _EC.EventClassID = AET.EventClassID)
                AND NOT EXISTS(SELECT *
                FROM (SELECT _QA.SID AS UserSID
                FROM Query.[Account] AS _QA
                WHERE _QA.QueryID = '2E84F194-03D0-4218-A346-76C50B98E36A'

                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