我星期五发布了(sql multiple count),并收到了一些回复。Oracle SQL帮助
今天试图实现它们,我不断得到相同的错误。
我的SQL代码现在是:
SELECT MBDDX_STUDY.STUDY_NAME,
COUNT(MBDDX_EXPERIMENT.STUDY_ID)
AS NUMBER_OF_EXPERIMENTS
FROM MBDDX_STUDY
INNER JOIN MBDDX_EXPERIMENT
ON MBDDX_STUDY.ID = MBDDX_EXPERIMENT.STUDY_ID
INNER JOIN (SELECT COUNT(MBDDX_TREATMENT_GROUP.GROUP_NO)
FROM MBDDX_TREATMENT_GROUP)
ON MBDDX_TREATMENT_GROUP.STUDY_ID = MBDDX_STUDY.ID
GROUP BY MBDDX_STUDY.STUDY_NAME
我不断收到错误:
ORA-00904: "MBDDX_TREATMENT_GROUP"."STUDY_ID": invalid identifier
是因为它是内外部联接支架,即超出范围?我对SQL很陌生,无法理解它为什么不起作用。我可以使用select子查询(无连接)工作,但我也希望能够使用连接。
如果我使用Toad for Oracle很重要。
谢谢。
与您最后一个问题相比,这里似乎没有任何新东西。请编辑/评论你以前的问题,而不是重新发布,如果它基本上是同一个问题。看到我的答案那里不需要子查询的方法。 – bobince 2010-10-25 11:21:05
感谢鲍勃。我已经在另一个线程中使用了你的解决方案,它运行得很完美,比我想要的要干净得多。 – 2010-10-25 12:02:49
可能重复的[sql multiple count](http://stackoverflow.com/questions/3997919/sql-multiple-count) – APC 2010-10-25 16:00:50