Hi Forum,
ich habe ein kleines Problem mit einer MySql Abfrage und hab mir jetzt schon stundenlang den Kopf zerbrochen, komme aber auf keine Lösung. Hoffe ihr könnt mir helfen. Eigentlich denke ich, ist mein Problem gar nicht so kompliziert aber ich bekomms nicht hin. Vlt. seh ich einfach nur den Wald vor lauter Bäumen nicht mehr. Es geht um folgendes:
Ich habe zwei Tabellen:
Tabelle1 beinhaltet alle verfassten Beiträge mit fest zugeordneter ID
In Tabelle2 wird für jeden Benutzer eine neue Zeile für jeden von ihm gelesenen Beitrag angelegt.
In dem Beispiel oben hat also user=222 Beitrag 1-5 gelesen. Beitrag 6 noch nicht.
User=333 hat die Beiträge 1,4,5 gelesen und die Beiträge 2,3,6 noch nicht.
Jetzt brauch ich eine Abfrage, die mir eben für user=222 nur ein Ergebnis liefe, nämlich Beitrag 6 und zu user=333 drei Ergebnisse nämlich Beiträge 2,3,6.
Die Tabellen zu verknüpfen mit Joins bekomm ich hin und die umgekehrt Abfrage wäre ja einfach (skizziert):
Aber wie kann ich diese Abfrage umkehren?? Ich habe ja kein Atribut was ich abfragen kann...
Bin für jede Hilfe dankbar.
Viele Grüße
Philipp
ich habe ein kleines Problem mit einer MySql Abfrage und hab mir jetzt schon stundenlang den Kopf zerbrochen, komme aber auf keine Lösung. Hoffe ihr könnt mir helfen. Eigentlich denke ich, ist mein Problem gar nicht so kompliziert aber ich bekomms nicht hin. Vlt. seh ich einfach nur den Wald vor lauter Bäumen nicht mehr. Es geht um folgendes:
Ich habe zwei Tabellen:
Tabelle1 beinhaltet alle verfassten Beiträge mit fest zugeordneter ID
In Tabelle2 wird für jeden Benutzer eine neue Zeile für jeden von ihm gelesenen Beitrag angelegt.
Code:
[COLOR=#000000][COLOR=#006600] [/COLOR][COLOR=#CC0000]'Tab1' 'Tab2' [/COLOR][COLOR=#0000CC] [/COLOR][COLOR=#006600]+--+----+ +--+----+ |[/COLOR][COLOR=#0000CC]id[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]var1[/COLOR][COLOR=#006600]| |[/COLOR][COLOR=#0000CC]user[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]id[/COLOR][COLOR=#006600]| [/COLOR][COLOR=#006600] +--+----+ +----+--+ | [/COLOR][COLOR=#0000CC]1[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]... [/COLOR][COLOR=#006600]| |[/COLOR][/COLOR][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#0000CC]222 [/COLOR][/COLOR][/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]1 [/COLOR][COLOR=#006600]| [/COLOR][COLOR=#006600] | [/COLOR][COLOR=#0000CC]2[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]... [/COLOR][COLOR=#006600]| |[/COLOR][COLOR=#0000CC]222 [/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]2 [/COLOR][COLOR=#006600]| [/COLOR][/COLOR][COLOR=#000000][COLOR=#006600]| [/COLOR][COLOR=#0000CC]3[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]... [/COLOR][COLOR=#006600]| |[/COLOR][COLOR=#0000CC]222 [/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]3 [/COLOR][COLOR=#006600]| [/COLOR][/COLOR] [COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600]| [/COLOR][COLOR=#0000CC]4[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]... [/COLOR][COLOR=#006600]| |[/COLOR][COLOR=#0000CC]222 [/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]4 [/COLOR][COLOR=#006600]| [/COLOR][/COLOR] [/COLOR][/COLOR][COLOR=#000000][COLOR=#006600]| [/COLOR][COLOR=#0000CC]5[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]... [/COLOR][COLOR=#006600]| |[/COLOR][COLOR=#0000CC]222 [/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]5 [/COLOR][COLOR=#006600]| [/COLOR][/COLOR] [COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600]| [/COLOR][COLOR=#0000CC]6[/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]... [/COLOR][COLOR=#006600]| |[/COLOR][COLOR=#0000CC]333 [/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]1 [/COLOR][COLOR=#006600]|[/COLOR][/COLOR] [/COLOR][/COLOR][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600]|[/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#0000CC]333 [/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]4 [/COLOR][COLOR=#006600]| [/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600]|[/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#006600][COLOR=#000000][COLOR=#0000CC]333 [/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#006600]|[/COLOR][COLOR=#0000CC]5 [/COLOR][COLOR=#006600]|[/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][COLOR=#000000][COLOR=#006600] [/COLOR][/COLOR]
User=333 hat die Beiträge 1,4,5 gelesen und die Beiträge 2,3,6 noch nicht.
Jetzt brauch ich eine Abfrage, die mir eben für user=222 nur ein Ergebnis liefe, nämlich Beitrag 6 und zu user=333 drei Ergebnisse nämlich Beiträge 2,3,6.
Die Tabellen zu verknüpfen mit Joins bekomm ich hin und die umgekehrt Abfrage wäre ja einfach (skizziert):
Code:
Select id from tab2 where user = '$user_id'
Bin für jede Hilfe dankbar.
Viele Grüße
Philipp
Kommentar