Die folgenden zwei Sätze:
%Vor%werden in der Tabelle sentence_words folgendermaßen dargestellt:
%Vor%Ich möchte eine Outer-Join-Abfrage durchführen, die mir die Ergebnisse liefert:
%Vor%Beachten Sie, dass ich in der Mitte des Satzes beginnen möchte, so dass ich nicht annehmen kann, dass word2 word_number = 2 hat. Wenn ich my_start_number = 2 wähle, dann sollte die Abfrage mir folgendes geben:
%Vor%Ich habe es versucht:
%Vor%Das gibt mir nur ein Ergebnis, wenn zwei Wörter im Satz sind. Ich bin nicht sicher, was zu tun ist, ist nicht sehr kompliziert.
Dems Antwort ist absolut die richtige. Ich entschied mich, diese Antwort zu schreiben, um den Grund zu erklären, warum Ihre ursprüngliche Lösung nicht funktioniert. Dies liegt daran, dass Sie versuchen, die folgende Ergebnismenge des linken äußeren Joins zu filtern (alle Spalten werden angezeigt, wobei einige Namen abgekürzt sind):
%Vor%Sehen Sie sich jetzt Ihre where-Klausel an:
%Vor% ... und es sollte relativ einfach zu sehen sein, warum es nicht funktioniert. Zum Beispiel ist s2.word_number
niemals NULL
.
Tags und Links sql outer-join