【发布时间】:2019-10-11 14:58:03
【问题描述】:
我对表 g 中的结果感兴趣,它与表 s 和 l 共享一个键 sample_name。在这个问题中,表格是 s - 样本,p - 项目,l - 分析,以及 g,分析 g,
都在架构a 中。
为了优化起见,我只想在确认l.analysis_g是NOT NULL之后再找表g。
Given:我开始时唯一的信息是项目名称。项目表p 通过样本表s 与其他表链接。 s 链接到每个表。表l 包含分析类型,每列是NULL 或1。
在下面的示例中,我正在尝试一个案例,但我意识到这可能完全不正确。
SELECT s.sample_name,
s.project_name,
g.*
FROM a.samples s
JOIN a.analyses l
ON s.sample_name = l.sample_name
JOIN a.analysis_g g
ON s.sample_name = g.sample_name
WHERE s.project_name IN (SELECT p.project_name
FROM a.projects p
WHERE p.project_name_other
IN ('PROJ_1',
'PROJ_2'))
;
【问题讨论】:
-
您能否展示您的数据示例和您想要的结果?
-
@daShier 表 g 是我唯一有兴趣返回结果的表。它包含与表
s和l共享的sample_id 以及分析结果。