SQL根据可变条件选择列

时间:2015-07-14 18:29:10

标签: sql

我试图以两种不同的方式做到这一点:

SELECT * 
FROM tbl_Parts
WHERE Column_ID = 2807
AND part_author = (case part_private = 'Y' THEN 'domain\username' ELSE part_author END)

也是这样:

SELECT *
FROM tbl_parts
WHERE Column_ID = 2807
  and part_author = IIF(part_private = 'Y','domain\username',part_author)

最终,我正在尝试检查每一行,因为我选择它以查看它是否标记为私有。如果是,则仅在登录应用程序的用户是部分作者时才选择该行。如果part_private为'N',则为每个人选择它。

希望有足够的理由让某人看到我正在尝试做的事情。

1 个答案:

答案 0 :(得分:1)

OR就是你需要的。有两种类型的记录可供选择。那些非私人的,与作者匹配的那些相同。

SELECT * 
FROM tbl_Parts
WHERE Column_ID = 2807
AND (part_private='N' 
OR 'domain\username'=part_author)
相关问题