Ich brauche ein wenig Hilfe bei der folgenden SQL-Abfrage:SQL Query (Oracle SQL)
SELECT AUF_EK.FIRM, AUF_EK.customer, AUF_EK.cnr, k.name1,
k.name2, k.name3, k.street, k.pin, k.loc, r.name1,
r.name2, r.name3, lo_gpname1,
.....
Zuerst werden die ausgewählten Spalten, erhalte ich, dass so weit.
FROM AUFT, PARTNER r, PARTNER k, .... skp_ARTIKEL_Z,
dann haben wir die von Klausel, aber warum gibt es ein Partner r und Partner k? Heißt das, der Tabellenname ist "Partner r" oder ist das ein anderer Grund, den ich noch nicht kenne?
WHERE (
AUF.FIRM BETWEEN 123 AND 456 AND AUF.FIRM = k.FIRM AND AUF.customer = k.gpnr AND AUF.FIRM
= k.FIRM AND AUF.customer = k.gpnr AND AUF.art_nr = ART.art_nr
Die where-Klausel bis hier macht Sinn für mich, so dass sie paßt grundsätzlich Spalten aus den ausgewählten Tabellen ...
AND EK_POS.art_nr =
ARTIKEL_Z.art_nr(+) AND NVL
(POS.pos_nr_zuo, 0) = (NVL (
_EK_POS_PREIS.pos_nr_zuo(+), 0)) )
Aber hier den Teil ich nicht bekommen. Ich bin kein SQL Pro .... Was macht die (+)? Und was ist , 0 Bedeutung?
Ist diese Abfrage Arbeit? Gibt es ein Problem damit? Sie stellen grundlegende Fragen, die jedes Buch oder jede SQL-Site sehr einfach beantworten kann. Entschuldige, dass du hart bist, aber du musst selbst mehr recherchieren, bevor du hier eine Frage stellst, um eine Antwort zu bekommen. Beispiel. 'NVL' ist eine Funktion, die sagt, wenn der erste Wert' NULL' ist, dann ersetze es mit 0 'NVL (POS.pos_nr_zuo, 0)' –
Nun, es funktioniert nicht. Die Spalten von Partner r, k scheinen problematisch zu sein. Die zweite Sache ist, dass ich keine Ahnung habe und nie etwas gesehen habe, wo x.c = y.c (+) ist. Also ein Name/Definition für das (+) und was es tut wäre eine große Hilfe. –
Verstanden. Wenn Sie eine Frage stellen, sollten Sie uns sagen, was nicht funktioniert und was Sie nicht verstehen. SQL unterscheidet sich von Plattform zu Plattform, aber die grundlegende Syntax sollte für alle gleich sein. Viel Glück! –