一周前我问了一个相关问题,但这是我面临的另一个问题。我觉得自己像个菜鸟,但我想问和学习总比不学好。
这是我的三个表:
战斗机表
fighter_id, name
事件表
event_id, event_name, event_date
战斗表
fight_id, fighter_a, fighter_b, winner, method, event
所以在fights 表中,fighter_a、fighter_b 和winner 是对应于Fighters 表中的fighter_id 的整数。
我基本上是在基于 fighter_id 检索数据的页面上。
我正在尝试为该战斗机的每次战斗创建行,其中包括他的对手的名字、结果(赢、输、平或 nc)、方法、event_name 和 event_date。如果是平局或无比赛,它会在方法栏中显示平局或无比赛,而获胜者将为空。
我正在查看这些 MySQL IF 语句,并创建了确定战斗机是否赢、输、平或没有比赛的适当标准。这些语句似乎不能在 PHP mysql_query 中使用,但至少它可以让您了解标准。我知道我必须将这 3 张桌子内部连接在一起,但我不确定如何确定赢家/输家/等等……因为 fighter_a 或 fighter_b 可以是赢家,或者两者都不是。我不知道如何在 MySQL 查询中处理这些 IF 语句。
IF winner IS NOT NULL AND winner=fighter_id THEN SET record='win';
ELSEIF winner IS NOT NULL AND winner<>fighter_id THEN SET record='loss';
ELSEIF winner IS NULL AND method='Draw' THEN SET record='draw';
ELSEIF winner IS NULL AND method='No Contest' THEN SET record='no contest';
ELSE SET record='';
ELSE IF;
我试图在一个看起来像这样的表中得到一个结果: http ://en.wikipedia.org/wiki/Fedor_Emelianenko#Mixed_martial_arts_record