SQL Split gebruikers
Sebas
06/03/2007 22:05:00Hey,
Op dit moment ben ik bezig met een contact applicatie.
Hierin kun je jouw vrienden zien, wat ze als extra naam hebben etc.
Nu is het probleem, de vrienden (in id's) staan geplaatst in 1 TEXT veld, bij je eigen gebruikersrecord (waar je id staat, je gebruikersnaam, je bijnaam etc).
Voorbeeld:
Bij de id 1 (wat ik ben) is de friendskolom:
5|18|25|218
Dit zijn vier vrienden, elk met de id van de gebruiker.
Hoe selecteer ik in sql de records van deze getallen?
In PHP zou je het kunnen exploden (splitten), en dan per getal de sql zoeken, maar dat leek me een beetje traag als het gaat om een grote database.
Is het mogelijk om de string te splitten, en dan JOIN te gebruiken om elke id te koppelen aan het goede record?
Bedankt,
Sebas
Op dit moment ben ik bezig met een contact applicatie.
Hierin kun je jouw vrienden zien, wat ze als extra naam hebben etc.
Nu is het probleem, de vrienden (in id's) staan geplaatst in 1 TEXT veld, bij je eigen gebruikersrecord (waar je id staat, je gebruikersnaam, je bijnaam etc).
Voorbeeld:
Bij de id 1 (wat ik ben) is de friendskolom:
5|18|25|218
Dit zijn vier vrienden, elk met de id van de gebruiker.
Hoe selecteer ik in sql de records van deze getallen?
In PHP zou je het kunnen exploden (splitten), en dan per getal de sql zoeken, maar dat leek me een beetje traag als het gaat om een grote database.
Is het mogelijk om de string te splitten, en dan JOIN te gebruiken om elke id te koppelen aan het goede record?
Bedankt,
Sebas
Gewijzigd op 01/01/1970 01:00:00 door Sebas
PHP hulp
20/11/2024 09:32:56stien ss
06/03/2007 22:08:00Ik denk het niet. En ik denk ook dat jou data model erg slecht is.
Je kan beter zoiets doen als datamodel:
user:
id | username
friends
user_1 | user_2
Je kan beter zoiets doen als datamodel:
user:
id | username
friends
user_1 | user_2
Sebas
06/03/2007 22:10:00Dat bedoel ik ook, maar het feit dat de vrienden gesplit worden, daar gaat het om. Het lijkt me een beetje onhandig om elke gebruiker in 1 kolom te plaatsen, of voor elke vriend een record te maken (of is dat niet erg?)
stien ss
06/03/2007 22:12:00Nee dat is juist slim. Het is onmogelijk om het op jou manier te doen ( tenzij je ook php wilt gebruiken en meerdere queries wilt uitvoeren ).
Je hebt gewoon 2 tabellen nodig, anders kan het niet.
Je hebt gewoon 2 tabellen nodig, anders kan het niet.
Sebas
06/03/2007 22:13:00Dus gewoon een tabel friends, en dan daarin van welke gebruiker de vriend is, en de vriend
userid stelt even de eigenaar voor, friend de id van de vriend
dit is dan bijv 1 record:
userid: 1
friend: 5
userid stelt even de eigenaar voor, friend de id van de vriend
dit is dan bijv 1 record:
userid: 1
friend: 5
stien ss
06/03/2007 22:14:00Precies... En als je meerdere vrienden wilt, dan voeg je gewoon meerdere records in je friends-tabel in
Gewijzigd op 01/01/1970 01:00:00 door stien ss