通过从SQL运行ETL到MongoDB中的LEFT JOIN添加新字段

时间:2019-01-15 13:48:21

标签: sql mongodb

我需要运行ETL才能将数据从Sybase / SQL后端获取到我的MongoDB环境中。我们已经有来自Sybase的数据,但是现在还有两个其他字段需要提取数据。因此,由于我对Mongo(不是很多Sybase)很熟悉,所以我试图确定如何调整ETL以获取这些额外数据。

当前的SELECT语句如下:

`SELECT DISTINCT TOP 100 d.*, d10.code code10, d10.id_number as Code10ID FROM diagnosis d LEFT JOIN diagnosis_icd10 d10 on d.icd10_id = d10.id_number ORDER BY d.id_number`

现在,在要进行LEFT JOIN的diagnosis_icd10表中,现在有几个额外的字段可用。

所以,我的问题是,是否需要在SELECT语句中在此处明确包括这些附加字段,以便它们在ETL流程中可用?还是仅当我想重命名字段时才这样?这应该是什么样?

1 个答案:

答案 0 :(得分:1)

是的,您需要显式请求它们,因为当前查询仅从诊断表中获取所有列(通过d *别名为d)。

这与Sybase无关,尽管这是基本的SQL,所以对于大多数数据库而言都是相同的。您只需像在d10.column_name中一样将它们添加到select语句中即可。