PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Tabelleninhalte vergleichen (http://www.selfphp.de/forum/showthread.php?t=18989)

Cal 29.03.2008 01:44:42

Tabelleninhalte vergleichen
 
Ich schreibe gerade ein Modul für ein Online-Klassenbuch, das prüft, ob und welche Klassenbuch-Einträge nicht gemacht wurden. Dazu werden Kurse aus dem Stundenplan mit den Lerninhalten verglichen. Die beiden Tabellen sehen (gekürzt) so aus:

Code:

Tabelle 1 - Stundenplan
+----+------+-------+-----+------+
| id | year | month | day | hour |
+----+------+-------+-----+------+
| 1  | 2008 | 1    | 29  | 3    |
| 2  | 2008 | 2    | 29  | 2    |
| 3  | 2008 | 3    | 29  | 1    |
+----+------+-------+-----+------+

Tabelle 2 - Lerninhalte
+----+------+-------+-----+------+
| id | year | month | day | hour |
+----+------+-------+-----+------+
| 1  | 2008 | 1    | 29  | 3    |
| 2  | 2008 | 2    | 29  | 2    |
+----+------+-------+-----+------+

Ich brauche jetzt in EINER mySQL-Abfrage alle Einträge, die in Tabelle 1 vorkommen, aber in Tabelle 2 fehlen.
Das Beispiel sollte also aus Tabelle 1 die Zeile mit der id 3 ausgeben.

Leider komme ich bei der Abfrage nicht weiter. :-( Ich habe es mit Joins versucht, aber ich finde nicht die richtigen Parameter...

Wenn mir jemand einen Lösungsansatz zeigen könnte, wäre das super. Danke im Voraus!

Pascal

defabricator 29.03.2008 11:34:27

AW: Tabelleninhalte vergleichen
 
Es wäre einfacher, wenn Du in Tabelle 2 nicht noch einmal das komplette Datum sondern nur die id aus Tabelle 1 speichern würdest.

Cal 29.03.2008 11:57:40

AW: Tabelleninhalte vergleichen
 
An der Erstellung der Tabellen habe ich keinen Anteil. Ich muss mit lesendem Zugriff auskommen.

defabricator 29.03.2008 12:03:38

AW: Tabelleninhalte vergleichen
 
Und wer hat Einfluss auf die Tabellenstruktur?
Du kannst ein LEFT/RIGHT JOIN dafür verwenden oder eine "NOT EXISTS" subquery.

Cal 29.03.2008 12:39:05

AW: Tabelleninhalte vergleichen
 
Um diese beiden Tabellen kümmert sich je ein anderes Teams. Zur Zeit gibt es keine Verknüpfungen zwischen den beiden obigen Tabellen. Das ist allerdings nicht mein Aufgabengebiet.

NOT EXISTS war das Zauberwort. Ich habe mich zu sehr in Joins verbaut. Danke!


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:40:54 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.