我知道乍一看标题没有意义。但情况是这样的:数据库表被命名为“teams”。在其中,有一堆用于足球队位置的列(gk1、def1、def2、...、st2)。每列都是 VARCHAR 类型并包含玩家的姓名。还有一列名为“船长”。那一栏的内容(不是最幸运的解决方案)不是船长的名字,而是职位。
因此,如果 'st1' 的内容是 Zlatan Ibrahimovic 并且他是队长,那么 'captain' 的内容是字符串 'st1',而不是字符串 'Zlatan Ibrahimovic'。
现在,我需要编写一个查询,从“teams”表中获取一行,但前提是队长是 Zlatan Ibrahimovic。请注意,此时我不知道他是打 st1、st2 还是其他位置。所以我只需要使用查询中的名字来检查他所扮演的位置是否设置为队长。从逻辑上讲,它看起来像:
if(Zlatan is Captain) 获取行内容
在 MySQL 中,if 条件实际上是 'where' 子句。但是有没有办法写呢?
$query="select * from teams where ???";
“团队”表结构为:
-----------------------------------------------------------------
| gk1 | def1 | def2 | ... | st2 | captain |
-----------------------------------------------------------------
| player1 | player2 | player3 | ... | playerN | captainPosition |
-----------------------------------------------------------------
所有字段都是 VARCHAR 类型。