我需要基于一个公共主键加入4个表.如果sqlite实现了完全外连接,它可能看起来像这样(没有考虑优化).
SELECT S.pair, C.ball, P.bluejeans, B.checkered
FROM Socks S
FULL OUTER JOIN Caps C
FULL OUTER JOIN Pants P
FULL OUTER JOIN Boxers B
WHERE S.color = C.color AND S.color = P.color AND S.color = B.color;
Run Code Online (Sandbox Code Playgroud)
我看起来很长很难,我找到的最好的是这个2表sqlite完全连接实现了左连接和联合alls:
SELECT employee.*, department.*
FROM employee LEFT JOIN department
ON employee.DepartmentID = department.DepartmentID
UNION ALL SELECT employee.*, department.*
FROM department LEFT JOIN employee
ON employee.DepartmentID = department.DepartmentID
WHERE employee.DepartmentID IS NULL;
Run Code Online (Sandbox Code Playgroud)
我正在尝试修改它以适用于超过2个表,但我是SQL新手,我不会太过分.是否有可能在合理的时间内得到这个结果?
我认为我有一个正确的3个表的实现(它可能不正确)但我似乎仍然无法得到它4.这是我有3个:
SELECT S.pair, C.ball, P.bluejeans
FROM Socks S LEFT JOIN Caps C …Run Code Online (Sandbox Code Playgroud) 我有 2 个元素,一个带有 onclick = "..." 的锚点和一个带有 onfocus = "..." 的输入锚点由输入按钮切换,所以当按钮处于焦点时,锚点被显示,当它失去焦点锚被隐藏。有没有办法可以从锚点访问 onclick 事件而不先发生 onblur?
input(type="radio", name="sample", value=str(sample['id']),
id="S"+str(sample['id']),onfocus = 'javascript:toggleVisibility("%stoggle");'
% sample['id'], onblur = 'toggleVisibility("%stoggle");' % sample['id'])
a("edit", id = "%stoggle" % str(sample['id']), style="display:none; float:right;
padding-left:10px; text-decoration:none;", href='do something')
Run Code Online (Sandbox Code Playgroud)