我有一个表来维护EMPLOYEE_ID
一个或多个ROLE_ID
可以分配给员工的s 的映射.这ROLE_ID
是ROLE
表的主键.
现在,我试图找出一个特定的员工是否是团队负责人(ROLE_ID = 2).也就是说,本质上,试图找出映射表中是否存在(EMPLOYEE_ID,2)的特定映射组合.
目前,我使用以下查询来实现此目的:
SELECT E.NAME AS `EMPLOYEE_NAME`,
EXISTS( SELECT 1 FROM `EMPLOYEE_ROLE` WHERE
(`EMPLOYEE_ROLE`.`EMPLOYEE_ID` = `E`.`EMPLOYEE_ID`)
AND (`EMPLOYEE_ROLE`.`ROLE_ID` = 2)) AS `IS_TEAM_LEADER`
-- Assume some other column shall be selected from ER table,
-- hence necessitating the JOIN on ER
FROM EMPLOYEE E
JOIN EMPLOYEE_ROLE ER ON (ER.EMPLOYEE_ID = E.EMPLOYEE_ID)
GROUP BY E.EMPLOYEE_ID;
Run Code Online (Sandbox Code Playgroud)
虽然这似乎完成了工作,但我正在寻找一种更有效的方法,因为当前形式的子查询似乎是多余的.不确定它是否相关,但可以使用FIND_IN_SET
或使用某些功能吗?
任何人都可以建议一个解决方案,因为我对最佳表现方法感兴趣吗?
编辑1:我故意使用了JOIN EMPLOYEE_ROLE
意图,也可以从ER
表中挑选其他一些列.所以,我正在寻找优化子查询,同时保持连接完好无损.因此,声明"当前形式的当前子查询似乎是多余的".
SQLFiddle:http://sqlfiddle.com/#!9/2aad3/5
我一直在尝试通过执行以下操作在页面加载时下载文件:
<div onload="download()"></div>
<a id="dl" style="display: none"
href="http://www.miniclip.com/games/base-jumping/en/base_jumping_miniclip.swf"
download>Download</a>
<script>
function download(){
document.getElementById('dl').click();
}
</script>
Run Code Online (Sandbox Code Playgroud)
它应该做的是在页面加载“点击”隐藏的下载链接时触发一个功能。但是,这种方法不起作用,我不知道为什么。
有人知道为什么吗?
我在javascript中打印一个简单的数组列表时遇到问题.仅在两个数组项之前打印undefined.请考虑以下代码;
function buildList(){
var box = document.getElementById("box");
var startList = "<ol>";
var endList = "</ol>";
var listItems;
var arry = ["Go to shopping", "Go to Mall"];
for(var i = 0; i < arry.length; i++){
listItems += "<li>" + arry[i] + "</li>";
}
box.innerHTML = startList + listItems + endList;
}
document.onLoad(buildList());``
Run Code Online (Sandbox Code Playgroud)
<div id="box">
</div>
Run Code Online (Sandbox Code Playgroud)
输出是
undefined 1)去购物2)去购物中心
请帮忙.
我有一个文本框,在将文本内容添加到画布上时想在其中放置文本内容,并希望使其处于活动状态。这样,用户可以在添加默认文本后开始书写。我添加了enterEditing()
哪个活动文本框,但在开始时移动了光标。
var object = canvas.getActiveObject('textbox');
canvas.setActiveObject(object);
object.setText("Start");
object.enterEditing();
Run Code Online (Sandbox Code Playgroud)