合并2选择为1

时间:2013-10-26 14:45:46

标签: sql database oracle select

我正在选择一个。 我有一张名为vriend的桌子和一张名为gebruiker的桌子。现在我有2个选择给我我想要的结果,但我想将它们合并在一起

SELECT g.naam,g.gebruikerID 
FROM gebruiker g 
INNER JOIN vriend v on g.gebruikerID = v.gebruikerID_Jezelf 
WHERE g.gebruikerID IN(SELECT gebruikerID_Jezelf FROM vriend);

SELECT g.naam,g.gebruikerID 
FROM gebruiker g 
INNER JOIN vriend v on g.gebruikerID = v.gebruikerID_Persoon 
WHERE g.gebruikerID IN(SELECT gebruikerID_Persoon FROM vriend);

我想要的是将这两个结合语句合并在一起 NOT WITH A UNION ,但是例如:

选择1给出:

NAAM     |     ID
-----------------
Henk     |     1
Karel    |     2

选择2给出:

NAAM     |     ID
-----------------
Andrew   |     4
Piet     |     5

合并将是

NAAM     |     ID     | NAAM     |     ID
------------------------------------------
Henk     |     1      | Andrew   |     4
Karel    |     2      | Piet     |     5

3 个答案:

答案 0 :(得分:1)

SELECT g.naam,g.gebruikerID ,g2.naam,g2.gebruikerID
FROM gebruiker g , gebruiker g2, vriend v
WHERE g.gebruikerID = v.gebruikerID_Jezelf 
OR g2.gebruikerID = v.gebruikerID_Persoon
AND g.gebruikerID IN(SELECT gebruikerID_Jezelf FROM vriend) 
OR g2.gebruikerID IN(SELECT gebruikerID_Persoon FROM vriend);

答案 1 :(得分:1)

SELECT g.naam, g.gebruikerID
    , g2.naam, g2.gebruikerID
FROM vriend v
JOIN gebruiker g1 on g1.gebruikerID = v.gebruikerID_Jezelf 
JOIN gebruiker g2 ON g2.gebruikerID = v.gebruikerID_Persoon
   ;

答案 2 :(得分:0)

试试这个

 SELECT g.naam,g.gebruikerID 
   FROM gebruiker g 
   INNER JOIN vriend v on g.gebruikerID = v.gebruikerID_Jezelf 
   WHERE g.gebruikerID IN(SELECT gebruikerID_Jezelf FROM vriend) OR g.gebruikerID IN(SELECT  gebruikerID_Persoon FROM vriend);