小编Joh*_*eck的帖子

执行动态交叉表查询

我在Postgres数据库中实现了这个功能:http://www.cureffi.org/2013/03/19/automatically-creating-pivot-table-column-names-in-postgresql/

这是功能:

create or replace function xtab (tablename varchar, rowc varchar, colc varchar, cellc varchar, celldatatype varchar) returns varchar language plpgsql as $$
declare
    dynsql1 varchar;
    dynsql2 varchar;
    columnlist varchar;
begin
    -- 1. retrieve list of column names.
    dynsql1 = 'select string_agg(distinct '||colc||'||'' '||celldatatype||''','','' order by '||colc||'||'' '||celldatatype||''') from '||tablename||';';
    execute dynsql1 into columnlist;
    -- 2. set up the crosstab query
    dynsql2 = 'select * from crosstab (
 ''select '||rowc||','||colc||','||cellc||' from '||tablename||' group by 1,2 order by …
Run Code Online (Sandbox Code Playgroud)

postgresql dynamic-sql crosstab plpgsql

7
推荐指数
1
解决办法
4667
查看次数

如何在 Terminal.app 和 vim 中使用 <S-Up> 和 <S-Down>

我想映射<Shift> + <Arrow Keys>以选择文本,就像 sublime text 之类的预期行为一样(想法来自:映射 <Shift>-Arrows to selection characters/lines)。使用设置下面我有,<S-Left>并且<S-Right> 的工作,但<S-Up><S-Down> 没有工作。相信Terminal.app需要加个键盘动作什么的吗?

~/.vimrc

nmap <S-Up> v<Up>
nmap <S-Down> v<Down>
nmap <S-Left> v<Left>
nmap <S-Right> v<Right>
Run Code Online (Sandbox Code Playgroud)

我在 vim 中看到了这一点(在插入模式下,然后<C-v> + <S-Up>让我这个^[OA,然后<C-v> + <S-Down>让我这个^[OB.

在 Terminal.app 首选项(默认设置)中:

默认 Terminal.app 键盘设置

vim key-bindings

0
推荐指数
1
解决办法
327
查看次数

标签 统计

crosstab ×1

dynamic-sql ×1

key-bindings ×1

plpgsql ×1

postgresql ×1

vim ×1