Hi,
ich habe das Problem aktuell mit PHP gelöst, allerdings unter einem imensen Query-Aufwand. Daher versuche ich gerade das ganze mit einer (!) Query zu lösen.
Ich habe ein Tabelle in der User Relationen stehen und das ungerichtet. Also wenn User 4 User 3 kennt, kenn User3 dadurch auch User4.
Ich selecte "meine" (mal angenommen ich bin user1) Freunde mit folgender Query:
Soweit so gut, nun müsste ich ja für die 2. Relation, also die Freunde meiner Freunde, tab1 joinen.
Auf was sollte ich joinen? Die Verbindung der Tabellen kann ja in user_id oder fellow_id stecken.
Für einen Tipp wäre ich sehr dankbar.
ich habe das Problem aktuell mit PHP gelöst, allerdings unter einem imensen Query-Aufwand. Daher versuche ich gerade das ganze mit einer (!) Query zu lösen.
Ich habe ein Tabelle in der User Relationen stehen und das ungerichtet. Also wenn User 4 User 3 kennt, kenn User3 dadurch auch User4.
Code:
tab1 user | fellow ------------- 1 | 3 3 | 4 4 | 1 4 | 5 3 | 8 usw..
PHP-Code:
SELECT IF(user_id=1,fellow_id,user_id) AS fellow_id
FROM tab1
WHERE
(user_id = 1 OR fellow_id = 1) AND fellow_status = 'true'
Soweit so gut, nun müsste ich ja für die 2. Relation, also die Freunde meiner Freunde, tab1 joinen.
PHP-Code:
SELECT IF(t1.user_id=1,t1.fellow_id,t1.user_id) AS fellow_id
FROM tab1 t1
JOIN tab1 t2
ON IF(f1.user_id=1,f1.fellow_id,f1.user_id) =
//und hier ist mein Problem...
WHERE
(t1.user_id = 1 OR t1.fellow_id = 1) AND t1.fellow_status = 'true'
Für einen Tipp wäre ich sehr dankbar.
Kommentar