![]() |
Datenbank: MySQL • Version: 5.0 • Zugriff über: PHP
Verknüpfung zweier Tabellen verbieten
Hallo!
Mit einem INNER JOIN kann man Tabellen zwangsweise verknüpfen und mit einem OUTER JOIN optional verknüpfen. Aber gibt es auch ohne Subquery eine Möglichkeit, dass eine Verknüpfung verboten ist? Problemstellung: Ich habe eine Tabelle mit Schulklassen und eine mit Einträgen der Klassen.
Code:
Ich will ein Query schreiben, das mir alle Klassen liefert, die noch keinen Eintrag haben.
+-----------+ +-------------------+
| classes | | entries | +----+------+ +----+-------+------+ | ID | Abbr | | ID | Class | Data | +----+------+ +----+-------+------+ | 1 | 1A | | 1 | 1 | 34.5 | | 2 | 1B | | 2 | 4 | 23.1 | | 3 | 2A | | 3 | 5 | 1.8 | | 4 | 3A | +----+-------+------+ | 5 | 3B | | 6 | 3C | +----+------+ Ich habe schon folgendes Probiert:
SQL-Code:
Funktioniert aber leider nicht.
SELECT Abbr
FROM classes c LEFT OUTER JOIN entries e ON c.ID = e.Class /* Liefere alle, die KEINEN entry haben */ WHERE e.ID = NULL Naja, mit eine, Subquery wär's leicht, will ich aber aus Gründen der Abwärtskompatibilität zu MySQL 4 vermeiden. Grüße Faux |
Re: Verknüpfung zweier Tabellen verbieten
In diesen Fällen könnte NULL auch falsch sein, probiers mal mit
SQL-Code:
Da sollte dann schon was bei raus kommen.
SELECT Abbr
FROM classes c LEFT OUTER JOIN entries e ON c.ID = e.Class /* Liefere alle, die KEINEN entry haben */ WHERE e.ID = NULL or e.ID = 0 |
Re: Verknüpfung zweier Tabellen verbieten
Müsste das "WHERE e.ID = NULL" nicht "WHERE e.iD IS NULL" lauten?
|
Re: Verknüpfung zweier Tabellen verbieten
Zitat:
Jetzt funktioniert es. Danke sehr. :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz