首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL SELECT中使用IF/ELSE

问在MySQL SELECT中使用IF/ELSE
EN

Stack Overflow用户
提问于 2012-12-02 05:08:16
回答 2查看 526关注 0票数 2

我有一张members表和一张venues表。我目前有这个select语句:

代码语言:javascript
复制
SELECT VenueName, VenueID 
FROM Venue 
WHERE active='Y' 
ORDER BY VenueName

此语句的结果用于使用场所名称填充下拉列表,这是可行的。我称它为“原始选择”。

我想要更改这一点,以便下拉列表仅显示链接到成员的地点名称:

代码语言:javascript
复制
SELECT Venue.VenueName, Venue.VenueID, members.id, members.venueid 
FROM Venue, members 
WHERE Venue.VenueID = members.venueid 
AND members.id='$userid'

这也是可行的。我称它为"NEW SELECT“。

我有两个超级管理员,他们的members.venueid是all而不是场所id号,所以我想创建一个语句来运行新的SELECT else if members.id='all' then run ORIGINAL SELECT。

有谁能给我指个方向吗?我试过很多方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-02 05:41:44

您可以尝试类似以下内容的操作:

代码语言:javascript
复制
SELECT Venue.VenueName, Venue.VenueID
FROM Venue, members 
WHERE 
(
  Venue.VenueID = members.venueid
  AND $userid <> 'all' 
  AND members.id = 'all'
)
OR
(
  Venue.VenueID = members.id
  AND $userid = 'all'
  AND members.id = 'all'
)
票数 1
EN

Stack Overflow用户

发布于 2012-12-02 20:53:06

谢谢@Chris你给我指明了正确的方向,下面是我工作的最终版本:

代码语言:javascript
复制
SELECT DISTINCT Venue.VenueName, Venue.VenueID
FROM Venue, members
WHERE (
'$userid' =  'all'
AND active =  'Y'
)
OR (
Venue.VenueID = members.venueid
AND members.id =  '$userid'
)
ORDER BY VenueName
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13663747

复制
相关文章

相似问题

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