Outer Join

Hallo zusammen,

Ich habe zwei Tabellen Tasks und Subtasks, die verknüpft sind mit einer 1(Tasks):n(Subtasks) Beziehung.

Folgende Anforderung gibt es nun:

. Es soll möglich sein nur tasks (ohne subtasks einzugeben)
. Wenn kein task eingetragen wurde soll der zugehörige (zunächst leere) subtask mit den task-werten gefüllt werden.

Das ganze sollte vorzugsweise auf der Abfrageebene implementiert werden.

Ich habe bereits eine Outerjoin-Query ausgeführt, die mir ALLE Tasks und nur die Subtasks anzeigt, die eine entsprechende Refernz haben.
Aber wie gehst weiter und fülle die leeren Felder auf?

Vielen Dank

Gruss Salvo

Hallo Salvo,

. Es soll möglich sein nur tasks (ohne subtasks einzugeben)

das ist jederzeit möglich, kein zwingt dich subtask einzugeben.

. Wenn kein task eingetragen wurde

also TASK = leer ist

soll der zugehörige (zunächst leere) subtask mit den task-werten
gefüllt werden.

wieso soll er mit leeren Task-Werten gefüllt werden?

Das ganze sollte vorzugsweise auf der Abfrageebene
implementiert werden.

eine einfache AnfügeAbfrage würde dem genügen.

!! aber leere Tasks in die Subtasks zu übertragen erscheint mir nicht sinnvoll??

Grüße aus Essen
Wolfgang

Moin,

. Es soll möglich sein nur tasks (ohne subtasks einzugeben)

Das müsste möglich sein.

. Wenn kein task eingetragen wurde soll der zugehörige
(zunächst leere) subtask mit den task-werten gefüllt werden.

Sorry, wie soll das gehen? Ohne Henne erstmal kein Ei. Welchem Task willst Du einen Subtaskt zuordnen, wenn er gar nicht da ist?

Ich habe bereits eine Outerjoin-Query ausgeführt, die mir ALLE
Tasks und nur die Subtasks anzeigt, die eine entsprechende
Refernz haben.

Mir scheint, in Deiner Datenstruktur wird die referenzielle Integrität nicht gewahrt. Dh. es gibt wohl Subtasks, die keinem Task zugeordnet sind. Damit hast Du keine 1:n Beziehung mehr. Deine Datenstruktur ist im Eimer. Wenn Du auf der n-Seite einen Eintrag hast, dann MUSS auf der 1-Seite eine zugehörige Entität stehen. Alles andere ist nicht 1:n.

Aber wie gehst weiter und fülle die leeren Felder auf?

Die Subtasks, die keinem Task zugeordnet sind, kannst Du wohl vergessen, ausser Du kannst diese irgendeinem Task wieder zuordnen (manuell).

Cheers
Gerhard