Select mit interner Tabelle

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

Select mit interner Tabelle

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Hallo zusammen,

wahrscheinlich ist mein Problem recht einfach zu lösen.

Ich möchte einen Selekt machen, bei der in einer where-bedingung ein bestimmtes feld einer internen Tabelle abgeglichen wird:

Code: Alles auswählen.

SELECT * FROM Tabelle1
      INTO CORRESPONDING FIELDS OF TABLE Tabelle2
        WHERE gpart  inTabelle3.
Wie bekomme ich so etwas hin?


Re: Select mit interner Tabelle

Beitrag von khb (Specialist / 181 / 5 / 1 ) »
Hallo Kenny,

SELECT * FROM Tabelle1
INTO CORRESPONDING FIELDS OF TABLE Tabelle2
for all entries in tabelle3
WHERE gpart =Tabelle3-gpart.

Besser wäre es, statt * die benötigten Felder anzugeben.

LG khb

Folgende Benutzer bedankten sich beim Autor khb für den Beitrag:
Kenny


Re: Select mit interner Tabelle

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Wow, danke für die schnelle Hilfe. Vielen lieben Dank

Re: Select mit interner Tabelle

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
und wenn ich sowas noch mit abfragen möchte:

SELECT * FROM Tabelle1
INTO CORRESPONDING FIELDS OF TABLE Tabelle2
for all entries in tabelle3
WHERE gpart =Tabelle3-gpart

and parameter1 IN p_konto

Re: Select mit interner Tabelle

Beitrag von JHM (Top Expert / 1148 / 1 / 182 ) »
Kenny hat geschrieben:und wenn ich sowas noch mit abfragen möchte:
Geht das genauso wie du es hier postest.

Mehr dazu steht auch in der F1-Hilfe zu FOR ALL ENTRIES. Lies dir diese Doku genau durch. FOR ALL ENTRIES hat einige Fallstricke (z.B. leere itab = WHERE-Bedingung wird komplet ignoriert) bzw. Performenzfallen (z.B.: itab enthällt mehrfach den gleichen Wert im Vergleichsfeld). Ist eine nette Option für Selects, man muss nur die Besonderheiten kennen.
Gruß Hendrik

Re: Select mit interner Tabelle

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
nein nein nein,

dann habe ich es falsch rüber gebracht.

SELECT * FROM Tabelle1
INTO CORRESPONDING FIELDS OF TABLE Tabelle2
for all entries in tabelle3
WHERE gpart =Tabelle3-gpart

and parameter1 IN p_konto "Dieser Zusatz soll sich aber auf die Tabelle 1 beziehen.

Also selectiere zusatzlich noch alle einträge aus Tabelle 1 welche den Selektionskriterien (Parameter1) entsprechen.

So etwas deutlicher?

Re: Select mit interner Tabelle

Beitrag von a-dead-trousers (Top Expert / 3686 / 133 / 959 ) »
Jein. :P
Kenny hat geschrieben:Also selectiere zusatzlich noch alle einträge aus Tabelle 1 welche den Selektionskriterien (Parameter1) entsprechen.
Du willst, dass die die Abfrage auf PARAMETER1 die Abfrage auf GPART nicht beeinflusst und umgekehrt.

In diesem Fall musst du dir dann mit einem zweiten Select-Statment behelfen. Das kannst du mit "APPENDING CORRESPONDING FIELDS OF TABLE" durchführen damit alle Einträge am Ende in der "Tabelle2" landen.

lg ADT
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.07
Basis: 7.40

Re: Select mit interner Tabelle

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
Ok, hört sich super an:-)

Kannst du mir jetzt noch zeigen wie das geht :-)

Re: Select mit interner Tabelle

Beitrag von a-dead-trousers (Top Expert / 3686 / 133 / 959 ) »

Code: Alles auswählen.

SELECT * FROM Tabelle1
INTO CORRESPONDING FIELDS OF TABLE Tabelle2
for all entries in tabelle3
WHERE gpart = Tabelle3-gpart.

SELECT * FROM Tabelle1
APPENDING CORRESPONDING FIELDS OF TABLE Tabelle2
WHERE parameter1 IN p_konto.
Das selektiert die Einträge die in "tabelle3" vorkommen UND die Einträge die in "p_konto" vorkommen.

Code: Alles auswählen.

SELECT * FROM Tabelle1
INTO CORRESPONDING FIELDS OF TABLE Tabelle2
for all entries in tabelle3
WHERE gpart = Tabelle3-gpart
  AND parameter1 IN p_konto.
Das selektiert die Einträge die sowohl in "tabelle3" als auch in "p_konto" vorkommen.

Für es einfach mal aus und du siehst den Unterschied.

lg ADT
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.07
Basis: 7.40

Re: Select mit interner Tabelle

Beitrag von Kenny (ForumUser / 68 / 28 / 0 ) »
... prüfe gerade...

Re: Select mit interner Tabelle

Beitrag von a-dead-trousers (Top Expert / 3686 / 133 / 959 ) »
Kenny hat geschrieben:Daher hätte ich jetzt werwartet, dass ich Tabelle 2 am Ende auch nicht mehr als 188 Einträge besitze.
Ich bekomme aber 220.
Theoretisch passt das, denn abhängig davon wie deine Tabelle2 aufgebaut ist (was du hier ja bislang nicht gezeigt hast) kann ein GPART auch mehrmals darin vorkommen.

lg ADT

EDIT:
Kenny hat geschrieben:... prüfe gerade...
Okay, ich warte...
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.07
Basis: 7.40

Seite 1 von 1

Über diesen Beitrag


ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Vergleichbare Themen

Select bei interner Tabelle
von Buetzy » 09.07.2007 13:58
.xls Datei aus interner Tabelle
von JanR » 05.10.2020 10:10
Löschen aus interner Tabelle
von Beginner014 » 21.11.2014 09:26
Prüfung interner Tabelle
von knut » 27.06.2005 14:44
Problem mit interner Tabelle
von Troilus » 17.11.2007 23:09