1

私は2つのテーブルを持っています

1 つ目はユーザー トランザクションです。

Date    Transaction    P1    P2    P3    P4    P5

(P1-P5 は 3 桁のユーザー ID です) 各トランザクションには、1、2、3、4、場合によっては 5 人のユーザーが関連付けられています。

2 番目のテーブルにはユーザー情報があります。

ID    NAME    ACTIVE

私は JOIN を使用して ID ではなくユーザーの名前を表示することに慣れていますが、5 人のユーザーの場合、PHP/HTML テーブルに名前を表示する方法がわかりません。

誰かがこれに光を当てることができますか?

4

3 に答える 3

4

すべてのユーザーが同じテーブルに参加できます。その場合、複数の結合されたテーブルを別の方法でエイリアスする必要があります。

select t1.Date, t1.Transaction, t1.P1, t1.P2, t1.P3, t1.P4, t1.P5
       u1.name, u2.name, u3.name, u4.name, u5.name
from table1 t1
left outer join table2 u1 on t1.p1 = u1.id
left outer join table2 u2 on t1.p2 = u2.id
left outer join table2 u3 on t1.p3 = u3.id
left outer join table2 u4 on t1.p4 = u4.id
left outer join table2 u5 on t1.p5 = u5.id
于 2012-08-15T05:12:04.960 に答える
2

値がない場合、一部のフィールドにはnull値がありますID

SELECT  a.`Date, a.`Transaction`,
        b.name as P1Name, 
        c.name as P2Name, 
        d.name as P3Name, 
        e.name as P4Name, 
        f.name as P5Name
FROM    transactions a 
            LEFT JOIN info b
                on a.p1 = b.id
            LEFT JOIN info c
                on a.p1 = c.id
            LEFT JOIN info d
                on a.p1 = d.id
            LEFT JOIN info e
                on a.p1 = e.id
            LEFT JOIN info f
                on a.p1 = f.id
于 2012-08-15T05:13:52.307 に答える
1

その「td」にすべての名前を改行で区切って配置する必要があると思います。

于 2012-08-15T05:14:34.703 に答える