Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 2 MySQL Tabellen abfragen (https://www.delphipraxis.net/52238-2-mysql-tabellen-abfragen.html)

Akut-Programming 25. Aug 2005 21:14

Datenbank: MySQL • Version: 5 • Zugriff über: DirectMySQL

2 MySQL Tabellen abfragen
 
Guten Abend,

kann mir jemand dabei helfen, aus zwei Tabellen alle die anzuzeigen, die in der anderen nicht stehen? Ich hatte schonmal was versucht, aber das klappt nicht so, wie ichs will.
SQL-Code:
select distinct a.Bezeichnung from table1 a, table2 b where b.Fuer = 'NAME' and b.Bezeichnung <> a.Bezeichnung and a.Format like '%FORMAT%' order by a.Bezeichnung
Weiß jemand, was dran falsch ist?

Gruß,

jensw_2000 25. Aug 2005 22:41

Re: 2 MySQL Tabellen abfragen
 
Bei MySQL bin ich syntaktisch nicht sattelfest, aber der Weg sollte so stimmen,
insofern ich deinen Beispiel SQL-Befehl richtig interprätiert habe ...


SQL-Code:
SELECT Bezeichnung
FROM Tabelle1 
WHERE Format LIKE '%FORMAT%'
      AND
      BEZEICHNUNG NOT IN (
                          SELECT BEZEICHNUNG
                          FROM Tabelle2
                          WHERE Fuer = 'NAME'
                         )
UNION ALL

SELECT Bezeichnung
FROM Tabelle2
WHERE Fuer = 'NAME'
      AND
      Bezeichnung NOT IN (
                          SELECT Bezeichnung
                          FROM Tabelle1 
                          WHERE Formao LIKE '%FORMAT%'
                         )
Falls die Bezeichnungen dann u.U. trotzdem mehrfach vorkommen können, aber nur einmal ausgegeben werden sollen, kannst du da noch ein "großes" SELECT drumherum bauen


SQL-Code:
SELECT DISTINCT Bezeichnung FROM
  (SELECT Bezeichnung
   FROM Tabelle1 
   WHERE Format LIKE '%FORMAT%'
         AND
         BEZEICHNUNG NOT IN (
                             SELECT BEZEICHNUNG
                             FROM Tabelle2
                             WHERE Fuer = 'NAME'
                            )
   UNION ALL

   SELECT Bezeichnung
   FROM Tabelle2
   WHERE Fuer = 'NAME'
         AND
         Bezeichnung NOT IN (
                             SELECT Bezeichnung
                             FROM Tabelle1 
                             WHERE Format LIKE '%FORMAT%'
                            )
  )

Schöne Grüße,
Jens
:hi:

Jelly 25. Aug 2005 23:56

Re: 2 MySQL Tabellen abfragen
 
Ohne die Lösung von Jens auf seine Richtigkeit zu prüfen, noch 2 Bemerkungen von mir:

1. MySQL unterstützt Subselects erst ab der Version 4.1
2. MySQL unterstützt Unions erst ab der Version 4.0

Akut-Programming 27. Aug 2005 14:20

Re: 2 MySQL Tabellen abfragen
 
Danke für die schnelle Hilfe! Werds gleich mal ausprobieren! :zwinker:

@Jelly..ich nutze MySQL 5


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz