Teil-Werte aus Spalte vergleichen - How to

Max-Berater

Erfahrenes Mitglied
Ich suche gerade nach einer Möglichkeit zwei Werte zu vergleichen leider ist in der Spalte nicht nur der Wert der verglichen werden soll, sondern weitere Werte.

Ich habe es schon mit Like versucht aber das funktioniert leider nicht, da ich jeweils die REnummer komplett bis zum ersten Leerzeichen vergleichen muss. Z.B. RE81552020 aus dieser Spalte vergleichen mit RE81552020 aus einer anderen Spalte
 

Anhänge

  • Screenshot 2020-12-12 111928.png
    Screenshot 2020-12-12 111928.png
    7,5 KB · Aufrufe: 11

Yaslaw

alter Rempler
Moderator
Je nach Datenbanbk kann sie ev. Reguläre Ausdrücke (RegEx) Damit würde es locker gehen.
Hast du Oracle? MySQL? MSSQL?
 

Max-Berater

Erfahrenes Mitglied
Ich habe versucht den og. Code einzubauen, aber ich scheitere jedes mal.

BUCHUNGEN

Belegfeld --- Buchungstext
---------------------------------------------------------------
XXX --- RE12342020 Karl Mustermann
XXX --- RE45672020 Grete Beispiel



WARENWIRTSCHAFT

Rechnungsnummer --- Kunde
---------------------------------------------------------------
RE12342020 --- Karl Mustermann
RE45672020 --- Grete Beispiel

Ich versuche nun die XXX Felder in BUCHUNGEN durch die entsprechenden Rechnungsnummern aus der WARENWIRTSCHAFT zu ersetzen.


Ergebnis:

BUCHUNGEN

Belegfeld --- Buchungstext
----------------------------------------------
RE12342020 --- RE12342020 Karl Beispiel
 

Yaslaw

alter Rempler
Moderator
Aber dazu brauchst du die WARENWIRTSCHAFT ja gar nicht. Du hast die ID schon im Buchungstext

MySQL 8.0 | db<>fiddle
SQL:
SELECT 
  REGEXP_SUBSTR(t.BUCHUNGSTEXT, 'RE[0-9]+') AS BELEGFELD, 
  BUCHUNGSTEXT
FROM BUCHUNGEN t
 

Max-Berater

Erfahrenes Mitglied
Ich habe nun den obigen Code
SELECT
REGEXP_SUBSTR(t.BUCHUNGSTEXT, 'RE[0-9]+') AS BELEGFELD,
BUCHUNGSTEXT
FROM BUCHUNGEN t

einmal ausprobiert, aber ich bekomme es einfach nicht hin. es passiert nichts.