2017-07-27 220 views
-1

我想弄清楚这个SQL语句有什么问题。这是在我试图添加到名为v3的数据库和geneSymbolIn在上面定义的过程结束时进行的。我在最后的WHERE上发生错误,表示这是意外的。FROM子句中的嵌套SELECT语句SQL

FROM (SELECT Probe_gene, logFC, adj_P_Value, gene, Study_ID, Group1, Group2 FROM v3.degContrastList WHERE gene = geneSymbolIn) AS CL, 
    (SELECT Study_ID, Disease, PMID, Time_Point, Treatment, Raw_Data FROM v3.degContrastListExperiment) AS ET, 
    WHERE CL.Study_ID = ET.Study_ID; 
+0

见https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very -simple-sql-query – Strawberry

+0

@Kyle - 如果我的解决方案已解决您的问题,请接受答案并投票表决! – JRG

回答

0

这不是一个有效的SELECT语句中,official docs做概述了正确的语法的一个不错的工作。

+0

哪一个是无效的? –

+1

整个事情,哦......等等,它不是完整的查询,并且使用了几十年前的“逗号连接”语法让我失望。问题是你在第二个子查询后得到一个逗号。 – Uueerdo

+0

微小的逗号将是我的死......谢谢! –

0

如果您正确格式化代码,很明显代码有什么问题。

FROM (
    SELECT Probe_gene, logFC, adj_P_Value, gene, Study_ID, Group1, Group2 
    FROM v3.degContrastList 
    WHERE gene = geneSymbolIn 
) AS CL, 
(
    SELECT Study_ID, Disease, PMID, Time_Point, Treatment, Raw_Data 
    FROM v3.degContrastListExperiment 
) AS ET, 
WHERE CL.Study_ID = ET.Study_ID; 

首先,没有SELECT声明。其次,在WHERE之前有一个逗号。

0

假设您的FROM声明之前有一个SELECT

别名ETWHERE子句之后有一个额外的逗号,这是不正确的。

FROM (SELECT Probe_gene, logFC, adj_P_Value, gene, Study_ID, Group1, Group2 
     FROM v3.degContrastList 
     WHERE gene = geneSymbolIn) AS CL, 
    (SELECT Study_ID, Disease, PMID, Time_Point, Treatment, Raw_Data 
     FROM v3.degContrastListExperiment) AS ET 
WHERE CL.Study_ID = ET.Study_ID;