How do I join data from two result of SQL oracle?

Smile_28 21 Reputation points
2022-03-18T03:21:23.45+00:00

I have to SQL oracle scripts and I would like to join data from two result of SQL oracle.

First script:

select USERNAME,"CLIENT NAME","VERSION",TASK,"LOGIN TIME" from (select sessions.USERNAME, sessions.clientname as "CLIENT NAME", sessions.version as "VERSION", users.TASK, sessions.LOGINTIME as "LOGIN TIME", ROW_NUMBER() OVER (partition by sessions.UserName, sessions.ClientName ORDER BY sessions.LoginTime DESC) as Rn
FROM users
RIGHT JOIN sessions on users.USERNAME = sessions.USERNAME WHERE sessions.USERNAME = 'TEST_PROD' AND sessions.LOGINTIME >= to_date('15-FEB-22','DD-MON-YY')) X WHERE Rn = 1;

Result:

184346-image.png

Data from table "usergroups":
184335-image.png

Second script:
select usergroups.group, usergroups.groupname, users.USERNAME
from users
left join usergroups.group on users.groupname = usergroups.groupname;

Question: How do I join from two result of SQL oracle?
My expectation is:

184240-image.png

Developer technologies Transact-SQL
SQL Server Other
{count} votes

3 answers

Sort by: Most helpful
  1. Naomi Nosonovsky 8,431 Reputation points
    2022-03-18T04:24:48.277+00:00
    select ug.GROUP, ug.GROUPNAME, y.*
    from
    (select USERNAME,"CLIENT NAME","VERSION",TASK,"LOGIN TIME" from (select users.groupName, sessions.USERNAME, sessions.clientname as "CLIENT NAME", sessions.version as "VERSION", users.TASK, sessions.LOGINTIME as "LOGIN TIME", ROW_NUMBER() OVER (partition by sessions.UserName, sessions.ClientName ORDER BY sessions.LoginTime DESC) as Rn
    FROM users
    RIGHT JOIN sessions on users.USERNAME = sessions.USERNAME WHERE sessions.USERNAME = 'TEST_PROD' AND sessions.LOGINTIME >= to_date('15-FEB-22','DD-MON-YY')) X WHERE Rn = 1) y  
    INNER JOIN UserGroups ug on y.GroupName = ug.GroupName
     ;
    

  2. LiHong-MSFT 10,056 Reputation points
    2022-03-18T06:50:09.267+00:00

    Hi @Smile_28
    You can have a try on multiple CTEs, like this :

    ;WITH CTE1 AS  
    (  
     --Put your First script here  
    ),CTE2 AS  
    (  
     --Put your Second script here  
    )  
    SELECT <Column_List>  
    FROM CTE1 JOIN CTE2 ON <......>  
    

    Best regards,
    LiHong


  3. Tom Phillips 17,771 Reputation points
    2022-03-18T13:31:34.717+00:00

    This is a Microsoft SQL Server forum. For help with Oracle, I suggest you post your questions on https://community.oracle.com/hub/

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.