Jump to content

rodgerwilco

Abgemeldet
  • Gesamte Inhalte

    4
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von rodgerwilco

  1. Das war für mich die Lösung. Vielen Dank Hat jemand noch schnell den Unterschied zwischen left join, not in und not exists parat. So wie ich es verstehe ist das Ergebnis in allen Fällen identisch.
  2. Hier noch ein Beispiel: id vater benutzer 1 user1 2 1 user1 3 1 user1 4 2 user1 1 user2 2 1 user2 Wenn ich jetzt user 1 bin, dann soll das Ergebnis der Datensatz mit id 3 und id 4 sein, da in der Tabelle kein Eintrag existiert, der für diesen Nutzer "user1" in der Spalte vater den wert 3 oder 4 hat. Wenn auf user 2 abgefragt wird, dann soll das Ergebnis der Datensatz mit id 2 sein, da für user2 kein Eintrag mit vater=2 existier.
  3. Hallo, das JOIN soll alle die Elemente als Ergebnis liefern, für deren id es einen Eintrag in der Spalte "id" gibt, die aber nicht in der Spalte "vater" eingetragen sind. Das Ganze soll dann eingeschränkt auf einen definierten Nutzernamen sein. Darüber soll ermittelt werden, für welche Elemente bereits Kinder durch einen speziellen Nutzer eingetragen wurden.
  4. Hallo zusammen, ich habe ein Problem mit einer einschränkenden Bedingung in einem JOIN. Es wäre toll, wenn jemand eine Antwort dazu hätte. Ich habe eine Tabelle CREATE TABLE beziehungen ( id int not null, vater int, benutzer varchar (30) not null; in der Bezeihungen zwischen Objekten in den Spalten "id" und "vater" gespeichert werden. "Benutzer" dient dazu zu speichern, wer einen Eintrag angelegt hat. Über einen JOIN lese ich aus, welche Einträge eine id haben, die ihrerseits nicht als vater eingetragen ist. Kurz gesagt, für welches Element sind keine Kindelemente eingetragen. Das Statement ist folgt formuliert: SELECT a.id, a.vater, a.benutzer, a.rechner FROM beziehungen AS a LEFT JOIN beziehungen AS b ON a.id = b.vater WHERE b.vater Is Null; Soweit funktioniert das ganze auch so wie es soll. Das Problem ist es, wenn die Tabelle von mehreren Nutzern gefüllt wird, die teils identische Einträge schreiben. Dann ist es möglich, dass ein Element bereits im Kontext eines anderen Nutzers angelegt wurde und daher für den eigenen Nutzer ein falsches Ergebnis durch das SELECT gelifert wird. Mein Lösungsansat war es die WHERE-Clause einzuschränken. SELECT a.id, a.vater, a.benutzer, a.rechner FROM beziehungen AS a LEFT JOIN beziehungen AS b ON a.id = b.vater WHERE b.vater Is Null AND a.benutzer='meinNutzer'; Leider hat dies auch nicht den gewünschten Erfolgt, da so keine Elemente gefunden werden, die in meinem Nutzerkontext keinen Kinder haben, jedoch in dem Kontext eines anderen Nutzers. Hat jemand einen Denkanstoß, wie diese Abfrage korrekt formuliert werden müsste, um ausschließlich die Elemente meines Nutzers zu berücksichtigen? Viele Grüße rodgerwilco
×
×
  • Neu erstellen...