2

我有一张桌子members和一张桌子venues。我目前有这个选择语句:

SELECT VenueName, VenueID 
FROM Venue 
WHERE active='Y' 
ORDER BY VenueName

此语句的结果用于使用场地名称填充下拉列表,这很有效。我将其称为“原始选择”。

我想更改它,以便下拉列表仅显示链接到该成员的场地名称:

SELECT Venue.VenueName, Venue.VenueID, members.id, members.venueid 
FROM Venue, members 
WHERE Venue.VenueID = members.venueid 
AND members.id='$userid'

这也有效。我将其称为“新选择”。

我有两个超级管理员,他们members.venueidall不是场地 ID 号,所以我想创建一个运行 NEW SELECT 的语句,如果members.id='all'然后运行 ​​ORIGINAL SELECT。

谁能指出我正确的方向?我尝试过各种各样的事情。

4

2 回答 2

1

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

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
于 2012-12-02T12:53:06.283 回答
1

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

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'
)
于 2012-12-01T21:41:44.090 回答