通过PostgreSQL调用,

CREATE TABLE condor_xrootd AS
       SELECT * FROM condor INNER JOIN xrootd_ext
       ON (
xrootd_ext.CRAB_Id = condor.CRAB_Id AND
REPLACE(condor.CRAB_ReqName, '_', ':') = xrootd_ext.CRAB_ReqName
);

我知道错误,
$ psql condor -f ./sql/inner_join.sql
psql:./sql/inner_join.sql:6: ERROR:  column "crab_id" specified more than once

这是可以理解的,因为每个表都有一个Crab\u Id列。我希望能够在不指定列的情况下进行内部联接,因为这两个表中合并了大约400列。
请让我知道,如果我可以摆脱这个错误,而不单独列出列。
编辑:
我忘了提到速度和稳定性在这里是至关重要的,因为我的加入可能需要几天的时间。

最佳答案

create table condor_xrootd as
select *
from
    condor
    inner join
    xrootd_ext using (crab_id)
where replace(condor.crab_reqname, '_', ':') = xrootd_ext.crab_reqname

10-08 05:06