PostgreSQL错误:列";收入“;多次指定

PostgreSQL错误:列";收入“;多次指定,postgresql,Postgresql,我正试图建立一个基本的数据库来帮助筛选许多CSV银行交易 我已经将我的所有交易从多个账户的多个表中导入,这些账户的“扣减”列中我勾选了“False”或“True” 我正在尝试创建一个“创建视图”,将多个表中的源代码转换为一个表,以进行“扣减” 基萼; 收入列为“真”的多个表中的银行交易记录 错误为-Query 1错误:错误:指定了更多的“收入”列 不止一次 我已经尝试了一天左右的各种代码行,但似乎无法让它工作 CREATE VIEW "Deductions" AS SELECT "Eve

我正试图建立一个基本的数据库来帮助筛选许多CSV银行交易

我已经将我的所有交易从多个账户的多个表中导入,这些账户的“扣减”列中我勾选了“False”或“True”

我正在尝试创建一个“创建视图”,将多个表中的源代码转换为一个表,以进行“扣减”

基萼; 收入列为“真”的多个表中的银行交易记录

错误为-Query 1错误:错误:指定了更多的“收入”列 不止一次

我已经尝试了一天左右的各种代码行,但似乎无法让它工作

CREATE VIEW "Deductions" AS
SELECT
    "EverydaySTG"."Income",
    "EverydaySTG"."Deduction",
    "EverydaySTG"."Date",
    "EverydaySTG"."Amount",
    "EverydaySTG"."Payee",
    "CC WTPC"."Income",
    "CC WTPC"."Deduction",
    "CC WTPC"."Date",
    "CC WTPC"."Amount"
FROM
    "EverydaySTG",
    "CC WTPC"
WHERE (
    "EverydaySTG"."Deduction" = 'TRUE' ::text)
    Or(
        "CC WTPC"."Deduction" = 'TRUE' ::text
);

您的对账单中有多个收入栏:
“EverydaySTG”“Income”
“CC WTPC”“Income”
。替换为:

CREATE VIEW "Deductions"
AS SELECT
    "EverydaySTG"."Income",
    "EverydaySTG"."Deduction",
    "EverydaySTG"."Date",
    "EverydaySTG"."Amount", 
    "EverydaySTG"."Payee",
    "CC WTPC"."Income",
    "CC WTPC"."Deduction",
    "CC WTPC"."Date",
    "CC WTPC"."Amount"
FROM
    "EverydaySTG", "CC WTPC"
WHERE (
    "EverydaySTG"."Deduction" = 'TRUE' ::text)
    Or ( "CC WTPC"."Deduction" = 'TRUE' ::text );
…通过:

CREATE VIEW "Deductions"
AS SELECT
    "EverydaySTG"."Income" AS income_a,
    "EverydaySTG"."Deduction" AS deduction_a,
    "EverydaySTG"."Date" AS date_a,
    "EverydaySTG"."Amount" AS amount_a,
    "EverydaySTG"."Payee",
    "CC WTPC"."Income" AS income_b,
    "CC WTPC"."Deduction" AS deduction_b,
    "CC WTPC"."Date" AS date_b,
    "CC WTPC"."Amount" AS amount_b
FROM "EverydaySTG", "CC WTPC"
WHERE (
    "EverydaySTG"."Deduction" = 'TRUE' ::text)
    Or( "CC WTPC"."Deduction" = 'TRUE' ::text );

OP comments“结果是事务已水平填充。而不是干净的单行收入,扣除,日期,金额等。有没有办法使原始行保持得体,从而使事务垂直堆叠?”

我知道他们想要一个联合查询:

CREATE TABLE "EverydaySTG" (
    "Income" INTEGER
    "Deduction" CHARACTER VARYING
    "Date" DATE
    "Amount" INTEGER
    "Payee" CHARACTER VARYING
);

CREATE TABLE "CC WTPC" (
    "Income" INTEGER
    "Deduction" CHARACTER VARYING
    "Date" DATE
    "Amount" INTEGER
);


您的对账单中有多个收入栏:
“EverydaySTG”“Income”
“CC WTPC”“Income”
。替换为:

CREATE VIEW "Deductions"
AS SELECT
    "EverydaySTG"."Income",
    "EverydaySTG"."Deduction",
    "EverydaySTG"."Date",
    "EverydaySTG"."Amount", 
    "EverydaySTG"."Payee",
    "CC WTPC"."Income",
    "CC WTPC"."Deduction",
    "CC WTPC"."Date",
    "CC WTPC"."Amount"
FROM
    "EverydaySTG", "CC WTPC"
WHERE (
    "EverydaySTG"."Deduction" = 'TRUE' ::text)
    Or ( "CC WTPC"."Deduction" = 'TRUE' ::text );
…通过:

CREATE VIEW "Deductions"
AS SELECT
    "EverydaySTG"."Income" AS income_a,
    "EverydaySTG"."Deduction" AS deduction_a,
    "EverydaySTG"."Date" AS date_a,
    "EverydaySTG"."Amount" AS amount_a,
    "EverydaySTG"."Payee",
    "CC WTPC"."Income" AS income_b,
    "CC WTPC"."Deduction" AS deduction_b,
    "CC WTPC"."Date" AS date_b,
    "CC WTPC"."Amount" AS amount_b
FROM "EverydaySTG", "CC WTPC"
WHERE (
    "EverydaySTG"."Deduction" = 'TRUE' ::text)
    Or( "CC WTPC"."Deduction" = 'TRUE' ::text );

OP comments“结果是事务已水平填充。而不是干净的单行收入,扣除,日期,金额等。有没有办法使原始行保持得体,从而使事务垂直堆叠?”

我知道他们想要一个联合查询:

CREATE TABLE "EverydaySTG" (
    "Income" INTEGER
    "Deduction" CHARACTER VARYING
    "Date" DATE
    "Amount" INTEGER
    "Payee" CHARACTER VARYING
);

CREATE TABLE "CC WTPC" (
    "Income" INTEGER
    "Deduction" CHARACTER VARYING
    "Date" DATE
    "Amount" INTEGER
);


您的selevct从两个表中获得相同的列名,结果是相同的列名,但在sql中不能使用相同的列名,这一事实是否必须更改例如:

CREATE VIEW "Deductions" AS
SELECT
  "EverydaySTG"."Income",
  "EverydaySTG"."Deduction",
  "EverydaySTG"."Date",
  "EverydaySTG"."Amount",
  "EverydaySTG"."Payee",
  "CC WTPC"."Income" AS Income_cc_wtpc,
  "CC WTPC"."Deduction" AS Deduction_cc_wtpc,
  "CC WTPC"."Date" AS Date_cc_wtpc,
  "CC WTPC"."Amount" AS Amount_cc_wtpc
FROM
  "EverydaySTG",
  "CC WTPC"
WHERE (
  "EverydaySTG"."Deduction" = 'TRUE' ::text)
  Or(
    "CC WTPC"."Deduction" = 'TRUE' ::text
);

您的selevct从两个表中获得相同的列名,结果是相同的列名,但在sql中不能使用相同的列名,这一事实是否必须更改例如:

CREATE VIEW "Deductions" AS
SELECT
  "EverydaySTG"."Income",
  "EverydaySTG"."Deduction",
  "EverydaySTG"."Date",
  "EverydaySTG"."Amount",
  "EverydaySTG"."Payee",
  "CC WTPC"."Income" AS Income_cc_wtpc,
  "CC WTPC"."Deduction" AS Deduction_cc_wtpc,
  "CC WTPC"."Date" AS Date_cc_wtpc,
  "CC WTPC"."Amount" AS Amount_cc_wtpc
FROM
  "EverydaySTG",
  "CC WTPC"
WHERE (
  "EverydaySTG"."Deduction" = 'TRUE' ::text)
  Or(
    "CC WTPC"."Deduction" = 'TRUE' ::text
);

嘿,Uprego,感谢您帮助处理此代码。结果是交易已水平填充。而不是干净的收入、扣减、日期、金额等单行。是否有方法保持原始行的圆滑,从而使交易垂直堆叠?嘿,Uprego,感谢您帮助处理此代码。结果是交易ns是水平填充的。没有干净的收入、扣减、日期、金额等单行。有没有办法保持原始行的整洁,从而使交易垂直堆叠?