我有一个master表,其中有多个级别存储的项目,父项和子项,还有第二个表可能有也可能没有其他数据.我需要从我的主表中查询两个级别,并在我的第二个表上有一个左连接,但由于我的查询中的排序,这将不起作用.
SELECT something FROM master as parent, master as child
LEFT JOIN second as parentdata ON parent.secondary_id = parentdata.id
LEFT JOIN second as childdata ON child.secondary_id = childdata.id
WHERE parent.id = child.parent_id AND parent.parent_id = 'rootID'
Run Code Online (Sandbox Code Playgroud)
左连接仅适用于from子句中的最后一个表,因此我只能使其适用于其中一个左连接.在上面的示例中,左连接都不起作用,因为第一个左连接指向from子句中的第一个表,第二个连接将永远不会像这样工作.
我怎样才能做到这一点?
我已经构建了一个excel插件,用数据库中的数据填充工作表.我还添加了一些样式并使用FreezePanes锁定一些行和列.
worksheet.Activate();
worksheet.Application.ActiveWindow.FreezePanes = false;
worksheet.Application.ActiveWindow.SplitRow = 4;
worksheet.Application.ActiveWindow.SplitColumn = 11;
worksheet.Application.ActiveWindow.FreezePanes = true;
Run Code Online (Sandbox Code Playgroud)
这一切都像excel 2010/2013中的魅力一样,但我最近切换到excel 2016(办公室365),从那时起,当我的excel工作表不在前台时,我遇到了FreezePanes的问题.我搜索了互联网,我遇到的唯一事情就是我只能在活动表上预制FreezePanes,我知道 - 我已经在设置FreezePanes之前激活了表单.这在excel 2010中有效,尽管物理上我的excel没有被发送到前台.
来自办公室365的Excel可能真的希望我的excel工作表在物理上处于前台但worksheet.Activate()没有帮助,我也尝试了以下代码:
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", SetLastError = true)]
static extern System.IntPtr FindWindow(string lpClassName, string lpWindowName);
string caption = oExcel.Caption;
IntPtr handler = FindWindow(null, caption);
SetForegroundWindow(handler);
Run Code Online (Sandbox Code Playgroud)
但这也行不通.任何人都可以帮我这个吗?
需要说明的是:我的excel版本是2016版本1611(Build 7571.2109)
使用以下内容:
CREATE TYPE user_types AS ENUM ('it', 'accounting', 'processes');
CREATE TABLE my_users
(
my_user_id integer NOT NULL,
my_user_name text NOT NULL,
my_user_type user_types
)
Run Code Online (Sandbox Code Playgroud)
我想更改其中一种用户类型:
ALTER TYPE user_types RENAME ATTRIBUTE it TO softwaredev CASCADE;
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
ERROR: relation "user_types" does not exist
SQL state: 42P01
Run Code Online (Sandbox Code Playgroud)
我尝试添加引号和反引号,但这没有帮助。我在这里写下的例子不是确切的代码,我的类型有 31 个字符,但我认为我的类型的长度不是问题。
我正在使用 postgres 9.6.2 版