sql连接表,其中条目有完美的双射,但没有相同的文本

k0pti3hp  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(132)

我使用两个表来描述相同的概念,但在条目中使用不同的措辞,这样在许多情况下就有了完美的一对一对应关系。
是否可以使用相互对应但不相等的单词列表执行连接?例如,一个组织使用这个词 protein ,而ncbi称之为 CDS . ncbi也通过不完全相同的文本引用交叉引用数据库, UniProtKB 是他们的名字,但ncbi使用 UniProtKB/Swiss_Prot .

Table: `gene_ontology`

    database    entry       type        go_id     
    ----------  ----------  ----------  ----------
    UniProtKB   P0A776      gene        GO:0016818
    UniProtKB   P37351      gene        GO:0004751
    UniProtKB   P14375      protein     GO:0006351

Table: `NCBI_xref`
        database              entry         type        locus_tag   
        --------------------  ------------  ----------  ------------
        UniProtKB/Swiss_Prot  P14375        CDS         b4004
        NCBI                  ABUW_RS19635  gene        ABUW_RS19635
        NCBI                  WP_000271233  CDS         ABUW_RS19635

我想内部连接,但显然,有问题与非标准命名。最下面一排 gene_ontology 应该匹配到最上面一行 NCBI_xref . 这是因为 database 以及 type 通信,和 entry 完全相同。
应该可以在这两者之间生成一个同义词列表,但我真的不希望修改或复制数据。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题