2013-07-21 2 views
0

Si vous souhaitez imprimer une table, le numéro de la première colonne tel qu'il est, la deuxième colonne le nom d'utilisateur de l'utilisateur.Requête SQL Select sur 3 tables

Schéma image complète ici: http://iforce.co.nz/i/m0rvairk.hb4.png

Had un compagnon ont un aller, a obtenu jusqu'ici:

SELECT q802d_vikevents_orderseats.seatnum, q802d_users.username 
     FROM q802d_vikevents_orderseats, q802d_vikevents_users 
INNER JOIN q80d_users ON q802d_vikevent_users.ujid=q802d_users.ujid 
INNER JOIN 
+0

Quel est le dernier nom de table? – UrGuardian4ngel

Répondre

0

@ La réponse UrGuardian4ngel semble correcte (une fois le nom de la troisième table confirmé). Une autre façon d'écrire ceci serait la suivante:

select s.seatnum, 
     t.username 
    from q802d_vikevents_orderseats s, 
     q802d_vikevent_users vu, 
     mystery_third_table t 
where vu.id = s.uid 
    and t.id = vu.ujid; 
+0

La troisième table est 'q802d_users'. Mais il ne semble pas fonctionner, voir http://aucklan.com/index.php/event Message d'erreur. Merci de votre aide! – user2603915

+0

L'erreur indique que l'une des tables (q802d_vikevent_users) n'existe pas. Quel RDBMS utilisez-vous? Êtes-vous en mesure de fournir le schéma, par ex. dans http://www.sqlfiddle.com/ – ChrisProsser

+0

Merci d'avoir clarifié cela! Je viens de réaliser que la quatrième ligne de code n'était pas tout à fait correcte, 'q802d_vikevent_users' -> 'q802d_vikevents_users'. – user2603915

1

Je ne sais pas sur ce nom de table. Votre capture d'écran n'est pas si claire à la fin (nom de table manquant). Mais pourrait fonctionner tel quel.

SELECT 
    s.seatnum, 
    u.username 
FROM q802d_vikevents_orderseats s 
INNER JOIN q802d_vikevent_users vu 
     ON vu.id = s.uid 
INNER JOIN q802d_users u 
     ON u.id = ujid;