CDS Views WHERE

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

CDS Views WHERE

Beitrag von retsch (ForumUser / 48 / 5 / 1 ) »
Muss man bei CDS Views irgendwas beachten, wenn man im WHERE auch nach der rechten Tabellen im JOIN einschränken?
Funktioniert das problemlos?
Danke

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: CDS Views WHERE

Beitrag von a-dead-trousers (Top Expert / 4396 / 223 / 1182 ) »
Funktionieren tut es. Du musst nur beachten, dass dadurch dann ein allfälliger LEFT Join implizit zu einem INNER Join werden könnte. Wenn du zum Beispiel deine Einschränkung mit = machst, werden für die rechte Seite nur die Werte selektiert die tatsächlich vorkommen. Um nun auch die gejointen Datensätze zu erhalten wo nur links etwas vorhanden ist musst du zusätzlich mit IS NULL prüfen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: CDS Views WHERE

Beitrag von retsch (ForumUser / 48 / 5 / 1 ) »
a-dead-trousers hat geschrieben:
02.03.2023 07:19
Funktionieren tut es. Du musst nur beachten, dass dadurch dann ein allfälliger LEFT Join implizit zu einem INNER Join werden könnte. Wenn du zum Beispiel deine Einschränkung mit = machst, werden für die rechte Seite nur die Werte selektiert die tatsächlich vorkommen. Um nun auch die gejointen Datensätze zu erhalten wo nur links etwas vorhanden ist musst du zusätzlich mit IS NULL prüfen.

Danke aber ganz verstehe ich dein Post nicht.

Wenn ich im WHERE auf ein Feld der rechten Tabelle(weil es nur in der rechten Tabelle exisitiert) einschränke, dann möchte ich in der Ausgabe die Zeilen haben, die die WHERE Bedingung erfüllen.

der WHERE soll ja für die gesamte gejointe Datensätze herangezogen werden..

Re: CDS Views WHERE

Beitrag von a-dead-trousers (Top Expert / 4396 / 223 / 1182 ) »
Wenn du einen INNER Join verwendest, hast du damit kein Problem. Du willst ja nur Datensätze haben die über die ON-Bedingung in beiden Tabellen vorkommen.
Wenn du aber mit einen LEFT (bzw. RIGHT oder FULL OUTER) arbeitest, möchtest du ja unter Umständen auch Datensätze haben, die nur in einer der beiden Tabellen vorkommen. Verwendest du nun in in deiner WHERE-Bedingung eine Abfrage bei einem LEFT Join auf ein Feld der rechten Tabelle (bzw. bei einm RIGHT Join ein Feld der linken) werden dadurch automatisch alle Datensätze ausgeschlossen die nur in der linken (bzw. rechten) Tabelle vorkommen. Hier muss man zusätzlcih auch mit IS NULL prüfen.

EDIT: Ein Beispiel

Code: Alles auswählen.

* Findet NUR Einträge die in MARD~EINME größer 100 sind. Nicht vorhandene Einträge sind implizit ausgeschlossen.
SELECT *
FROM mara LEFT OUTER JOIN mard
  ON mara~matnr EQ mard~matnr
WHERE mard~einme GT 100.

* Findet Einträge die in MARD~EINME größer 100 sind oder dort NICHT vorkommen.
SELECT *
FROM mara LEFT OUTER JOIN mard
  ON mara~matnr EQ mard~matnr
WHERE mard~einme GT 100
  OR mard~einme IS NULL.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

6
Antw.
1505
Views
RAP und CDS Views
von retsch » 19.01.2023 09:30 • Verfasst in ABAP® für Anfänger
2
Antw.
5909
Views
CDS Views
von SAP_ENTWICKLER » 04.09.2018 11:56 • Verfasst in Development Related
5
Antw.
2182
Views
CDS-Views / AMDP für HCM
von SaskuAc » 20.03.2019 07:58 • Verfasst in ABAP® für Anfänger
4
Antw.
599
Views
CDS Views - Probleme
von ZF_SAPler » 17.07.2023 14:31 • Verfasst in ABAP® für Anfänger
1
Antw.
913
Views
Feldbezeichner in CDS Views für ALV
von ZF_SAPler » 23.05.2023 12:11 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 18 Stunden von black_adept gelöst 23 / 3841
User Exit EXIT_RQCPRM10_001
vor 19 Stunden von a-dead-trousers 2 / 333
Trennen Strasse und Hausnummer
Gestern von payten 13 / 10703
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1383

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 18 Stunden von black_adept gelöst 23 / 3841
User Exit EXIT_RQCPRM10_001
vor 19 Stunden von a-dead-trousers 2 / 333
Trennen Strasse und Hausnummer
Gestern von payten 13 / 10703
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1383

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2914
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9508