Hallo,
user:
id username
1 hans
2 franz
3 ferdinand
4 klaus
5 bernd
6 Fridolin
users_friends:
userone usertwo status
1 2 1
1 5 2
1 6 1
3 4 1
2 1 1
können die Werte von userone und usertwo überhaupt identisch sein?
Ich möchte nun dynamisch alle namen haben die mit %tag anfangen aber nur von denen die freunde von hans sind(status 1 haben).
und wo ist Dein Problem?
Gegeben ist die Userid 1 von hans und der buchstabe F
Suche alle userone und usertwo wo userone=1 oder usertwo=1 und status=1,
nehme dann alle ids die !=1 sind und durchsuche Tabelle users nach den userone und usertwo ids und gebe mir die wieder die mit f% anfangen.
Nein. Warum möchtest Du diese haben? Ich bin ganz im Gegenteil der Ansicht, Du möchtest folgendes haben:
Gib mir die eindeutige Liste
der Benutzernamen
aus
der Tabelle user
die mit der Tabelle users_friends verknüpft ist
über Gleichheit der Werte in den Spalten id und usertwo
wobei nur die Werte interessieren
mit dem Wert 1 in der Spalte userone (sprich Hans)
und dem Status 1 (d.h. Freund)
verbunden mit
der eindeutigen Liste
der Benutzernamen
aus
der Tabelle user
die mit der Tabelle user_friends verknüpft ist
über Gleichheit der Werte in den Spalten id und userone(!)
wobei nur die Werte interssieren
mit dem Wert 1 in der Spalte usertwo (sprich Hans)
und dem Status 1 (d.h. Freund)
Wie bitte ist das möglich? geht das überhaupt mit einem Query?
Ja sicher: wie Du siehst mit einer UNION zweier Joins und einer WHERE-Klausel.
Ich gehe davon aus, dass Dein Datenbankmanagementsystem (wie z.B. DB2, Firebird, Informix, MySQL, Oracle, PostgreSQL, MS SQL Server, ...) in der vorhandenen Version diese Basis-SQL-Funktionalität unterstützt.
Freundliche Grüße
Vinzenz