首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL if语句

SQL if语句
EN

Stack Overflow用户
提问于 2012-01-19 03:18:02
回答 2查看 1.9K关注 0票数 0

如何在sql中使用if语句?我想做这样的事情:

代码语言:javascript
复制
SELECT DISTINCT exchange.id userid, exchange.name username, exchange.lastactivity     lastactivity, exchange.id avatar, exchange.id link, cometchat_status.message, cometchat_status.status
FROM buddy
if( buddy.penpalA = 887){
      JOIN exchange ON buddy.penpalA = exchange.id
}ELSE{
      JOIN exchange ON buddy.penpalB = exchange.id
}
LEFT JOIN cometchat_status ON exchange.id = cometchat_status.userid
if( buddy.penpalA = 887){
      WHERE buddy.penpalB =887
}ELSE{
      WHERE buddy.penpalA =887
}    

ORDER BY username ASC 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-19 03:21:23

只需修改您的WHEREON。请注意,ANDed比较周围的段落是不必要的;我这样做只是为了澄清正在发生的事情。

代码语言:javascript
复制
SELECT DISTINCT exchange.id userid, exchange.name username,
                exchange.lastactivity lastactivity, exchange.id avatar,
                exchange.id link, cometchat_status.message,
                cometchat_status.status
FROM buddy
JOIN exchange ON (buddy.penpalA = exchange.id AND buddy.penpalA = 887)
              OR (buddy.penpalB = exchange.id AND buddy.penpalA <> 887 AND buddy.penpalB = 887)
LEFT JOIN cometchat_status ON exchange.id = cometchat_status.userid
WHERE buddy.penpalA = 887 OR buddy.penpalB = 887
ORDER BY username ASC

更新:

我更改了上面的代码,以便在penpalB为887时也加入,根据我对您的评论的理解。

票数 2
EN

Stack Overflow用户

发布于 2012-01-19 03:22:50

使用Transact-SQL,您可以构造一个IF-ELSE,如下所示:

代码语言:javascript
复制
IF a > b
BEGIN
   // do something
END
ELSE
   // do something else
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8915973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档