Tabellen:
table "subscriptions" (pk_subscription ist schlüssel):
pk_subscription name
--------------- ----
1 abc
2 abc
3 abc
4 def
5 def
table "login" (pk_subscription ist schlüssel):
pk_subscription login_name
--------------- ------
1 xyz
Query:
select a.name, b.login_name
from subscriptions a, login b
where a.pk_subscription = b.pk_subscription (+)
and a.name = 'abc'
Problem:
Ich möchte einen join über 2 tabellen machen, bei dem nicht sichergestellt ist, ob ein passendes tupel in der 2. tabelle gefunden werden kann.
Wird kein Tupel gefunden, soll einfach null angehängt werden, weshalb ich einen outer join verwende. jedoch möchte ich als resultet nur ein tupel haben.
momentan liefert obrige query:
name login_name
---------- -----------
abc xyz
abc null
abc null
gewünscht von mir wäre jedoch nur:
name login_name
---------- -----------
abc xyz
wird kein tupel in der login tabelle gefunden werden z.b. bei name='def' liefert die query
name login_name
---------- -----------
def null
def null
gewünscht wäre jedoch:
name login_name
---------- -----------
def null
weiss jemand eine Lösung, wie die Query umgebaut werden muss?
vielen Dank!
table "subscriptions" (pk_subscription ist schlüssel):
pk_subscription name
--------------- ----
1 abc
2 abc
3 abc
4 def
5 def
table "login" (pk_subscription ist schlüssel):
pk_subscription login_name
--------------- ------
1 xyz
Query:
select a.name, b.login_name
from subscriptions a, login b
where a.pk_subscription = b.pk_subscription (+)
and a.name = 'abc'
Problem:
Ich möchte einen join über 2 tabellen machen, bei dem nicht sichergestellt ist, ob ein passendes tupel in der 2. tabelle gefunden werden kann.
Wird kein Tupel gefunden, soll einfach null angehängt werden, weshalb ich einen outer join verwende. jedoch möchte ich als resultet nur ein tupel haben.
momentan liefert obrige query:
name login_name
---------- -----------
abc xyz
abc null
abc null
gewünscht von mir wäre jedoch nur:
name login_name
---------- -----------
abc xyz
wird kein tupel in der login tabelle gefunden werden z.b. bei name='def' liefert die query
name login_name
---------- -----------
def null
def null
gewünscht wäre jedoch:
name login_name
---------- -----------
def null
weiss jemand eine Lösung, wie die Query umgebaut werden muss?
vielen Dank!
Comment