mysql if 多个,mysql if条件中的多个条件

mysql的新手,所以我不确定我是否正确地问了这个问题.我试图将多个参数添加到if语句中.我正在尝试检查两队之间的比赛是否是联赛.

SELECT visitor AS school, home AS temp, vl.leagueid AS vleague, hl.leagueid AS hleague,

if(vl.leagueid = hl.leagueid, 1, 0) AS leaguematch

FROM schedule

LEFT JOIN schools AS vl ON vl.id = visitor

LEFT JOIN schools AS hl ON hl.id = home

WHERE gamedate between '2013-01-01' AND '2013-12-31'

我想添加((vl.leagueid = 26 AND hl.leagueid = 27)OR((vl.leagueid = 27 AND hl.leagueid = 26))来检查联赛是否相等.我尝试过的()的任何组合似乎都无效,所以我感觉到我要解决这个错误.

谢谢,

麦克风

感谢chofer,这是我的工作查询

SELECT visitor AS school, home AS temp, vl.leagueid AS vleague, hl.leagueid AS hleague,

CASE

WHEN vl.leagueid = hl.leagueid THEN '1'

WHEN ((vl.leagueid = 26 AND hl.leagueid = 27) OR (vl.leagueid = 27 AND hl.leagueid = 26)) THEN '1'

ELSE 0

END AS leaguematch

FROM u96nk_rvball_schedule

LEFT JOIN u96nk_rvball_schools AS vl ON vl.id = visitor

LEFT JOIN u96nk_rvball_schools AS hl ON hl.id = home

WHERE gamedate between '2013-01-01' AND '2013-12-31'

解决方法:

如果您需要vl.leagueid和hl.leagueid相等,则将条件放在哪里,像这样

在’2013-01-01’和’2013-12-31’之间的比赛日期

AND vl.leagueid = hl.leagueid

编辑

如果您希望在满足条件的情况下将Leaguematch设置为特定值,那么如果不是CASE,则将其设置为0是最佳选择

SELECT visitor AS school,

home AS temp,

vl.leagueid AS vleague,

hl.leagueid AS hleague,

CASE

WHEN school = 50 AND temp = 2 THEN '1'

WHEN school = 51 AND temp = 3 THEN '2'

ELSE 0

END AS leaguematch

FROM ......

一世

标签:mysql

来源: https://codeday.me/bug/20191121/2053871.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值