2017-01-17 1 views
0

Ich hoffe, dass jeder mir helfen kann :) Mein Problem ist, wenn ich meinen Code ausführen Ich sehe diesen Fehler "SQL-Befehl nicht ordnungsgemäß beendet" und "Beispiel" ist rot. Vielen Dank für Ihre InteresseLeft Join Probleme in Orakel

(select mat.oid matoid 
    from lsn.material mat, 
     lsn.plan_def def, 
     lsn.unit meu 
where  math.plan_def_oid = def.oid 
     and math.unit_oid = meu.oid 
     )example left join lsn.plan_det det on det.def_oid = example .matoid; 

Antwort

1

Ich glaube, Sie können nur alle vier Tische zusammen in einem Rutsch beitreten:

select math.oid matoid 
from lsn.material mat 
inner join lsn.plan_def def 
    on math.plan_def_oid = def.oid 
inner join lsn.unit meu 
    on math.unit_oid = meu.oid 
left join lsn.plan_det det 
    on plan_def_oid = math.oid 

Änderungen, die ich hier gemacht sind Ihre implizite Umwandlung schließt sich an expliziten inneren verbindet. In der Regel sollten Sie es vermeiden, Kommas in die from-Klausel zu setzen. Außerdem habe ich Ihre ursprüngliche unvollständige Unterabfrage in die Hauptabfrage verschoben.

+0

können wir diesen Code in Linq schreiben? @Tim – Ilaria

+0

@Henry Ich weiß 'linq' leider nicht, aber wenn Sie eine neue Frage öffnen, die auf dieses verweist, bin ich sicher, dass Sie Hilfe schnell bekommen werden :-) –

+0

okay danke :) – Ilaria

1

Außerdem sieht es so aus, als ob ein Verweis auf eine RESULTS-Tabelle fehlt

+1

I didn auch Ich weiß nicht, was ich davon halten soll. Aber die mit 'result' referenzierte Spalte ist die selbe wie der Alias ​​in der Auswahl, also habe ich das gerade benutzt. –

+0

hast du recht. Ich bearbeite "Ergebnis" zu "Beispiel", aber ich habe vergessen, es zu ändern. Danke, ich korrigiere es. – Ilaria