Ermitteln ob ein USER vorhanden ist.

Squall_Titus

Benutzer
Beiträge
13
Ich möchte mir Ergebnisse anzeigen lassen, bei denen ein Autor zu einem Eintrag in Tabelle_1 mit Coauthor war.

In Tabelle_1 steht er Inhalt und in Author_Weitere die ID aus Tabelle_1 sowie eine Reihe von Coauthoren.

Tabelle Author_Weitere enthält neben Manager auch Benutzer.

Knackpunkt ist Zeile 3 nach dem AND

Ich brauche eigentlich eine Abfrage, die mir auch Ergebnisse liefert, wenn der Manager mit bei dem Eintrag in Tabelle_1 dabei war.

Code:
SELECT * FROM Tabelle_1 i, Author_Weitere a
WHERE (
        i.ID = a.ID AND a.Author_ID  = 'Manager'
        AND (
            (i.Titel LIKE '%Benutzer%' OR i.ID LIKE '%Benutzer%' OR i.Status LIKE '%Benutzer%')
            OR (i.Author LIKE '%Benutzer%')
            OR (a.Author_ID LIKE '%Benutzer%')
            OR (i.Bereich LIKE '%Benutzer%')
            OR (i.Unterbereich LIKE '%Benutzer%')
            )
        )
 
Werbung:
Also zur Verdeutlichung:

Tabelle_1:
ID Author Bereich Unterbereich
1 Ich sonst iges
2 Manager Hallo Welt
3 Benutzer keine Ahnung

Author_Weitere:
ID Author_ID
1 Benutzer
1 Manager
1 Ich
2 Benutzer
2 Manager
3 Benutzer

sollte dann laut Abfrage ID 1 und 2 ausgeben, da in beiden Fällen Benutzer auch mit Coauthor wie Manager was.
Wenn man nach Benutzer sucht und Zeile 3 ist auch Benutzer, erhält mann alle 3 IDs
Wenn man nach Manager sucht und Zeile 3 ist Ich erhält man nur ID 1
Und wenn man als Hans in Zeile 3 steht bekommt man keine Ergebnisse.
 
Werbung:
Sry aber das ist sehr unverständlich geschrieben.

Deine Beispieltabellen verstehe ich ja noch halbwegs. Du suchst jetzt alle Einträge in Tabelle_1 wo deine gesuchte Person entweder Author oder CoAuthor ist (also in Tabelle Author_weitere steht). Aber warum suchst du jetzt nach den Personen "Benutzer" und "Manager"? Sind das nicht nur Beispieldatensätze oder stehen dort wirklich Personen (z.B. Ich) und Berufsbezeichnungen (z.B. Manager) zusammen in einer Tabelle?

Code:
SELECT    *
FROM    Tabelle_1
WHERE    Author LIKE '%Benutzer%'
OR        ID IN (    SELECT    ID
                FROM    Author_Weitere
                WHERE    Author_ID LIKE '%Benutzer%' )
 
Zurück
Oben