我有以下两个表:
表A:
function setTime() {
var timeUntil = countdown(Date.now(), new Date(2016, 12, 3, 18, 0, 0, 0));
document.getElementById('counter-text').textContent = timeUntil;
}
setInterval(setTime, 200);
表B:
UserID PermissionTableA
UserA PermissionA
UserB PermissionA
UserC PermissionB
UserD PermissionB
这两个表应通过ID连接,权限应合并为一个列,如下所示:
解决方案:
UserID PermissionTableB
UserA PermissionC
UserA PermissionD
UserB PermissionC
UserB PermissionD
我当前的解决方案,使用完全外连接,如下所示:
UserID Permission
UserA PermissionC
UserA PermissionD
UserA PermissionA
UserB PermissionC
UserB PermissionD
UserB PermissionA
是否可以将两个列合并为一个,类似于上面的解决方案表和SQL查询(使用MS Access)。
提前致谢。
答案 0 :(得分:1)
您不是在寻找联盟:-)联接会合并记录。你所追求的是两个查询结果的结合。
select UserID, PermissionTableA as Permission
from TableA
UNION
select UserID, PermissionTableB
from TableB
where UserID in (select UserID from TableA)
order by UserID, Permission;
更新:您也可以将您的外部联接与NZ
一起使用。对不起,我花了一些时间来查看查询应该做什么。
select UserId, NZ(PermissionTableA, PermissionTableB) as Permission
from ...