0

我正在尝试运行一个始终返回 2 或 3 行的 SQL 查询;当返回 3 时,必须像这样对它们进行排序:team1,draw,team2

所以基本上如果“draw”在列表中,那么它应该总是放在另外两行之间,不管它们是什么,假设团队的名称和draw在“title”列中

我试过订购CASE WHEN title = 'draw' THEN 1,也试过FIELD()- 不走运:(

有人可以帮忙吗?

谢谢!

4

2 回答 2

1

尝试这个:

ORDER BY (IF(title='team1', 1, IF(title='team2', 3, 2)))
于 2013-04-12T00:18:23.883 回答
0

团队与结果不同。我相信你不应该解决你的问题。相反,创建三个表:Teams、Results 和 ResultTypes。在 ResultTypes 中存储两个团队之间的任何可能结果。在 Teams 中,存储团队、他们的姓名和任何相关数据。最后,在结果中存储 3 个外键。其中两个应引用 Teams 表,一个应引用 ResultTypes 表。这样,您将永远不会遇到从数据库中选择数据的问题。

于 2013-04-12T00:29:54.273 回答