使用条件If语句进行查询

时间:2013-03-23 09:35:55

标签: mysql sql pdo

我正在尝试编写一个查询,如果找不到第一行,将选择另一行,如果找不到指定的那个,则抓取'default'。

类似的东西:

SELECT
*
FROM
teams
WHERE
team=:team_id
ELSE
WHERE team=1

这可以在Mysql中完成吗?

顺便说一句,默认情况可能不仅仅是1。

3 个答案:

答案 0 :(得分:2)

假设:team_id大于1你可以做的

select * from teams where team=1 or team=:team_id order by team desc limit 1

或者如果你不知道两个id的顺序:

select * from teams where team=1 or team=:team_id order by team=:team_id desc limit 1

答案 1 :(得分:2)

SELECT * FROM teams WHERE team=:team_id
UNION ALL
SELECT * FROM teams WHERE team=1
ORDER BY team=1
LIMIT 1

答案 2 :(得分:0)

再次看了我的问题,我想也许我最初想的更容易。

以下不起作用吗?:

SELECT
*
FROM
teams
WHERE
team=:team OR (team!=:team AND team=:default_team)