【发布时间】:2019-04-08 09:49:29
【问题描述】:
我想从 3 个表中选择多个列,并按 self_object_id 分组。其中一列(gene_info)属于 CLOB 类型。
我尝试对除 self_object_id 之外的每一列使用 max(),但我不能,因为此函数不适用于 CLOB 数据类型。我该如何解决?
SELECT gene_info, pi.id, race, id_card_no, sdg.create_datetime
FROM person_info pi, sample_info si, sample_dna_gene sdg
WHERE pi.id = si.self_object_id
AND si.self_object_id = sdg.sample_id
AND si.self_object_id IN ('34B00F424CFE4DA389A7F7914D54AA62','8EF79471D9A3481590BD4CA6FC09231E','43E85B5BC34 94EA6B71D3D289A3A8AF0')
GROUP BY self_object_id
【问题讨论】:
-
为什么在
FROM子句中使用逗号而不是正确、明确的JOIN语法?为什么您没有限定所有列名,以便其他人知道这些列的来源。 -
因为我有 3 个表时不知道如何正确使用 join。当我只加入 2 时,我知道如何使用它。 where 似乎最直接并给我正确的结果。
-
。 . (1)在第二张表后面加一个
JOIN也不是很难;周围有很多例子。 (2)我无法遵循查询逻辑,因为我不知道这些列来自哪些表。