sql - SQL 在 SQL 查询中创建“Admin”(WHERE 子句中的 CASE/IF)
问题描述
这是我的 SQL:
WHERE
CASE
WHEN (UC.USER = SESSION_USER() AND UC.full_access = 1)
THEN (FROS.IsVoided = false)
ELSE (FROS.IsVoided = false AND UC.USER = SESSION_USER())
END
我需要 IF user = to (current session user) and full_access = 1 the display X else Y,我可以提供更多代码和表格,但从总体上看,有人能找到我做过的任何常见错误吗?
或者我有这个想法:
WHERE
IF(UC.USER = SESSION_USER() AND UC.full_access= 1, FROS.IsVoided = false, FROS.IsVoided = false AND UC.USER = SESSION_USER())
在WHERE子句中使用 if 语句的正确方法是什么?
解决方案:
WHERE IF(((SELECT full_access FROM `TABLE` WHERE user = SESSION_USER())= 1), (FROS.IsVoided = false), (FROS.IsVoided = false AND UC.USER = SESSION_USER()))
解决方案
您的问题的答案是SELECT
查询部分中的一列:
SELECT (CASE WHEN UC.USER = SESSION_USER() AND UC.full_access = 1
THEN 'X' ELSE 'Y'
END) as what_you_asked_for
我不知道这与您提供的代码有何关系。
推荐阅读
- css - 未在 https 中加载的 font-awesome 会在 Web 浏览器控制台中出现错误,但不会在 http 中出现错误?怎么修
- c# - 如何将这些 Fortran 语句转换为 C#?
- java - IntelliJ - 带参数的 Java Gradle 运行/调试
- ios - UserDefaults 自动登录不起作用
- couchdb - 如何在 CouchDB 中使用芒果查询来减少查询执行时间?
- javascript - ReactJS 重新渲染时内存使用率高
- django - 通过 django 应用程序创建 url
- oracle - 未找到 Oracle OLEDB 提供程序
- javascript - JavaScript - 如何知道网页是第一次加载还是刷新后加载?
- java - 如何访问 CPLEX 中的最终单纯形表?