ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
529
529
EMPFEHLEN
-
Hallo,
Ich möchte das Ergebnis aus einem query für einen neuen query benutzen. Ich würde das gerne in nur einem query machen.
Zuerst hole ich mir mit diesem query aus 2 Tabellen die groupID, wo ich Moderator und Mitglied bin:
SELECT groupID as mygroups FROM groups WHERE moderatorID = 13
UNION
SELECT groupID as mygroups FROM member_groups WHERE memberID = 13
Nun möchte ich mit einem neuen query alle Gruppen rausfinden, wo ich kein Mitglied bin:
SELECT groupID FROM groups WHERE groupID != mygroups
Leider funktioniert das so nicht. Wie kann ich das besser machen?
-
13.08.09 00:02 #2
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
erstens müsste das wenn schon WHERE groupID NOT IN mygroups heißen, zweitens funktioniert aber auch das nicht.
Du könntest höchstens die gleiche Abfrage noch einmal in einer Subquery benutzen.
So müsste es auch gehen:
Code sql:1 2 3 4 5 6 7 8
SELECT groupID FROM ( (SELECT groupID, moderatorID AS userID FROM groups) UNION (SELECT groupID, memberID AS userID FROM member_groups) ) AS RESULT GROUP BY groupID HAVING SUM(userID = 13) = 0
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Hi,
danke für deine Antwort. Das funktioniert.
Allerdings brauche ich noch andere Spalten.
SELECT g.groupID, g.group_name, g.group_description, gc.categories_name
FROM groups g, groups_categories gc, member_groups mg
WHERE groupID = Ergebnis aus deiner Abfrage:
SELECT groupID FROM
(
(SELECT groupID, moderatorID AS userID FROM groups)
UNION
(SELECT groupID, memberID AS userID FROM member_groups)
) AS result
GROUP BY groupID
HAVING SUM(userID = 13) = 0
Wie kann ich die zusätzlichen Spalten hier einbauen?
-
Hi,
ich habe das jetzt mit einem Subquery gelöst.
SELECT g.groupID, g.group_name, g.group_description, gc.categories_name
FROM `groups` g, member_groups mg, groups_categories gc
WHERE g.groupID != ALL (SELECT groups.groupID FROM groups JOIN member_groups ON groups.groupID = member_groups.groupID WHERE member_groups.memberID = '" . addslashes ( $memberID ) . "'
)
AND gc.categoriesID = g.categoriesID
GROUP BY g.groupID
Ähnliche Themen
-
php+mySQL: Daten einer früheren Query in einer neuen Query wiederverwenden
Von bekay im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 06.04.09, 11:50 -
INSERT query schnell zu UPDATE query machen
Von breytex im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 16.07.08, 08:19 -
MySQL Query Browser - Query History
Von flashray im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 04.10.07, 15:11 -
MySql Query
Von messmar im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 22.08.07, 22:12 -
mysql query
Von DarkSummer im Forum PHPAntworten: 1Letzter Beitrag: 26.06.02, 23:09





Zitieren
Login





