Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Vergleich zweier Tabellen

2 views
Skip to first unread message

Sigbert Helle

unread,
Jan 21, 2021, 4:54:14 PM1/21/21
to
Hallo NG,
ich denke eine leichte Aufgabe, aber ich seh die Lösung nicht:

Ich hab zwei Tabellen tblEins und tblZwei.
tblEins hat u.a. die Felder NrNeu und NrAlt, tblZwei das Feld MitNr

Ich will wissen, ob in tblZwei schon ein Datensatz existiert mit dem
Feldinbhalt
MitNr = NrNeu & " (" & NrAlt & ")"
Also z.B. '7485' und 'B-77' --> '7485 (B-77)'
Alle Felder haben den Typ VARCHAR.

Für den Fall, dass das Feld NrAlt leer ist, funktioniert dies hier
einwandfrei:

Ich hab aus tblEins die beiden Werte aus einem bestimmten Datensatz
ausgelesen und in einem PHP-Skript zu $NrTest zusammengesetzt

$qV = $daba->query('SELECT MitNr FROM tblZwei WHERE MitNr = '.$NrTest);
$rowV = $qV->fetch();

Aber wenn das Feld NrAlt nicht leer ist, werden die beiden Zeilen nicht
ausgeführt.

Ich hab schon alle " ' ` an allen möglichen und unmöglichen Stellen
ausprobiert - nix Erfolg!

Hat jemand eine Idee, welchen Blödsinn ich mache?

Lieben Gruß
Sigbert

Sebastian Suchanek

unread,
Jan 21, 2021, 5:21:41 PM1/21/21
to
Am 21.01.2021 um 22:54 schrieb Sigbert Helle:
> Hallo NG,
> ich denke eine leichte Aufgabe, aber ich seh die Lösung nicht:
>
> Ich hab zwei Tabellen tblEins und tblZwei.
> tblEins hat u.a. die Felder NrNeu und NrAlt, tblZwei das Feld MitNr
>
> Ich will wissen, ob in tblZwei schon ein Datensatz existiert mit dem
> Feldinbhalt
> MitNr = NrNeu & " (" & NrAlt & ")"
> Also z.B. '7485' und 'B-77' --> '7485 (B-77)'
> Alle Felder haben den Typ VARCHAR.
> [...]

SELECT NrNeu, NrAlt, MitNr
FROM tblEins
LEFT JOIN tblZwei ON MitNr = CONCAT(NrNeu, " (", NrAlt, ")")

Wenn bereits ein Eintrag in tblZwei gemäß Deiner obigen Vorschrift
existiert, steht er in "MitNr" der Ergebnis-Tabelle. Ist "MitNr" gleich
NULL, existiert noch kein entsprechender Eintrag in tblZwei.
(Geht evtl. auch noch eleganter, aber das ist die Lösung, die mir
spontan eingefallen ist.)


HTH,

Sebastian

Sigbert Helle

unread,
Jan 22, 2021, 9:26:07 AM1/22/21
to
Hallo Sebastian,

mit einer Mischung aus deinem und meinem Code hab ich's geschafft.

Gruß
Sigbert
0 new messages