0

我有两张桌子

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 中选择第二个俱乐部的名称(对战) 4. 给出比赛时间并保存。

现在的问题是我无法正确选择数据。我需要一行,但是当我输入以下查询时它给了我两行

选择 ms.fld_id、ms.fld_id_club_one、ms.fld_id_club_two、ms.fld_match_time、c.fld_club_name、c.fld_id 从 tbl_match_schedule 作为 ms、tbl_club 作为 c WHERE c.fld_id = ms.fld_id_club_one 或 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

当然,您可以在此之后添加WHEREorORDER子句以满足您的进一步需求,只要您在提到俱乐部时使用c1.c2.简写,因为完整的表名称会模棱两可。

于 2013-08-25T23:08:33.857 回答