0

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

1. tbl_clubs
2. tbl_match_schedule

tbl_club にはフィールドがあります。

fld_id | fld_club_name

tbl_match_schedule にはフィールドがあります。

fld_id | fld_club_id_one | fld_club_id_two | fld_match_time.

フローは、管理者が 1. 新しいマッチ スケジュールの追加に移動することです。2. ドロップダウン 1 からクラブの名前を選択します。 3. ドロップダウン 2 から 2 番目のクラブ (対戦している) の名前を選択します。 4. 試合時間を与えて保存します。

問題は、データを適切に選択できないことです。1行必要ですが、次のクエリを入力すると2行になります

SELECT ms.fld_id, ms.fld_id_club_one , ms.fld_id_club_two , ms.fld_match_time, c.fld_club_name, c.fld_id FROM tbl_match_schedule as ms, tbl_club as c WHERE c.fld_id = ms.fld_id_club_one OR c.fld_id = ms.fld_id_club_two

私を助けてください、私はこの形とで何かが"club name one"欲しいです"club name two""19:00"

私はmysqlを使用しています

4

1 に答える 1

1

私が正しく理解している場合、これは次のようにする必要があります。

SELECT c1.fld_club_name AS 'club_name_one', c2.fld_club_name AS 'club_name_two', s.fld_match_time AS 'at' FROM tbl_match_schedule s
    LEFT JOIN tbl_clubs c1 ON s.fld_club_id_one = c1.fld_id
    LEFT JOIN tbl_clubs c2 ON s.fld_club_id_two = c2.fld_id

もちろん、完全なテーブル名があいまいになるため、クラブを参照するときに短縮形のandを使用する限り、さらに必要に応じてこの後にWHEREor句を追加できます。ORDERc1.c2.

于 2013-08-25T23:08:33.857 に答える