| 

.NET C# Java Javascript Exception

2
Wie kann man in SQL einen LEFT JOIN machen, aber ohne das JOIN-Wort zu verwenden? Die Spalte auf der ich joinen will ist nämlich ein memo (MS Access) und kann keinen join verwenden.
10.09.2009
barrichello 131 1 4
3 Antworten
2
Irgend etwas in diese Richtung:

SELECT
*
FROM
a, b
WHERE
left(a.somevalue, 100) = left(b.somevalue, 100)


Mehr Infos über die Besonderheiten von Memo-Feldern sind hier:
http://allenbrowne.com/ser-63.html (Englisch, was sonst)
10.09.2009
Tomalak 171 1 2
Tomalak 171 1 2
3
Das da oben nennt man Theta-Join, falls Du danach googeln möchtest oder Ähnliches.
deexem 11.10.2009
2
Wobei die Aufgabenstellung sehr verdächtig wirkt. Memos als Join-Spalte lassen auf einen verkorksten Anwendungsfall/Design schliessen

Wenn Duplikate gefunden werden sollen, werden Inhalte als unterschiedlich bewertet, die sich nur in Leerzeichen unterscheiden.

Oder die Memo-Felder hätten eigentlich in eine dritte Tabelle gehört.

Wie das Problem gelöst könnte, wäre folgender Ansatz:

  • Kopieren der Tabelle A nach TempA
  • Löschen aller Zeilen in TempA "delete from A where a.memo in SELECT memo FROM B"

Ich habe es allerdings nicht ausprobiert
11.09.2009
stefan.bachert 395 4
1
Auch ein INNER-SELECT wäre möglich. Leider habe ich gerade kein Access hier, um das zu testen.
Auf dieser Seite hier wird erklärt, warum der JOIN nicht funktioniert und auch eine mögliche Lösung dargestellt.
10.09.2009
nate 210 1 2 6

Stelle deine Html-Frage jetzt!