2010-04-29 8 views
0
rejoindre

J'ai simple mySQL problem--mysql sélectionner plusieurs lignes dans

J'ai deux tables, on est une table de l'utilisateur, et l'autre est une table de photos (chaque utilisateur peut télécharger plusieurs photos).

Je voudrais écrire une requête pour joindre ces tables, ainsi je peux tirer toutes les photos associées à un utilisateur (jusqu'à une certaine limite).

Cependant, quand je fais quelque chose d'évident comme ceci:

SELECT *.a, *.b FROM user_table a 
    JOIN photos_table b ON a.id = b.userid 

il retourne

a.id, a.name, a.email, a.address, b.id, b.userid, b.photo_title, b.location 

mais il retourne une seule photo. Y at-il un moyen de retourner quelque chose comme:

a.id, a.name, a.email, a.address, b.id, b.userid, b.photo_title, b.location, b.id2, b.photo_title2, b.location2 etc. . . 

pour une limite donnée de photos?

Merci pour vos idées.

Répondre

0

Voici deux types distincts de données il est donc préférable de faire avec deux requêtes distinctes:

SELECT * FROM user_table WHERE userid = @userid; 
SELECT * FROM photos_table WHERE userid = @userid; 

La combinaison tout en un seul méga-ligne n'est pas la façon dont SQL et demande simplement des problèmes. Vous atteindrez probablement des limites internes dans la base de données à un moment donné.

Questions connexes