SQL problem

jma

Mitglied
Moin

ich brauche nen SQl ausdruck für folgendes Beispiel:
2 Tabellen

1. Tabelle tbl_Adresse:
id, name, straße, ortnr
1, hans, abc, 1

2. Tabelle tbl_Ort:
id, plz, ort
1, 25825, xyz

Nun möchte eine Übersicht gestalten: name, straße, plz, ort
Select a.*, b.plz,b.ort from tbl_adresse As a, tbl_ort As b where a.ortnr = b.id;

Jetzt mein problem, wenn in tbl_ort der datensatz mit id 1 gelöscht wird oder in tbl_adresse ortnr einen anderen ungültigen wert z.b 0 hat, möchte ich den datensatz wenn auch unvollständig angezeigt bekommen. Wie müßte der SQL Befehl dazu aussehen? Jede Situation mit Union z.b. hinzufügen wäre etwas zu aufwendig, da das beispiel deutlich vereinfacht ist.

Besten Dank für Eure Hilfe
jma
 
hi, probier mal a.ortnr *= b.id ODER a.ortnr =* b.id das ersetzt die OUTER-JOINs müsste jetzt aber auch erst probieren, was welcher ist.
Falls dir das weiterhilft gib bitte Bescheid, welches der Richtige war.
 
Das kann nicht funktionieren, da das Ergebnis nur wahr wird, also ein Resultat liefert, wenn alle Bedingungen erfüllt sind.
Das kann aber nicht geschehen, wenn in tbl_ort ein Datensatz gelöscht wurde, weil dann eine eindeutige Zuordnung zu tbl_adresse unmöglich ist.
Außerdem kann es auch keine Resultate geben, wenn ortnr ungültig ist, ...
Ich vermute mal, Du wirst zuerst schauen müssen, ob Du alle Bedingungen erfüllst, bevor Du das Statement absetzen kannst.
Ansonsten hilft vielleicht eine Umstrukturierung der Datenbank?

redlama
 
ok Besten Dank

so hab ich mir das auch schon gedacht, hatte gehofft das es so ne art Gültigkeitsabfrage gibt die man hätte einbauen können.
Werd mal schauen, wie ichs anders realisiere.
jma
 
Zurück