SQL查询返回需要分组的数据列表

我试图从SQL查询testing数据库中拉出一些数据,我卡住了。 下面是运行数据时的数据显示方式,以及在运行数据后的样子。

我得到了什么

Sample_Number Centre_Code DateEntered AssayName --------------------------------------------------- 1 234 9/16/2010 TEST 1 1 234 9/16/2010 TEST 2 1 234 9/16/2010 TEST 3 1 234 9/16/2010 TEST 4 1 234 9/16/2010 TEST 5 2 345 9/17/2010 TEST 1 2 345 9/17/2010 TEST 2 2 345 9/17/2010 TEST 3 3 456 9/16/2010 TEST 1 3 456 9/16/2010 TEST 2 3 456 9/16/2010 TEST 3 3 456 9/16/2010 TEST 4 3 456 9/16/2010 TEST 5 3 456 9/16/2010 TEST 6 3 456 9/16/2010 TEST 7 

我正在试图得到什么

 Sample_Number Centre_Code DateEntered ProfileName ----------------------------------------------------- 1 234 9/16/2010 PROFILE 1 2 345 9/17/2010 PROFILE 2 3 456 9/16/2010 PROFILE 3 

我遇到的问题是我有这些testingconfiguration文件,其中一组特定的testing组成了每个样本的configuration文件,我不能让他们分组到configuration文件中,我只能得到单独的testing。 我正在考虑在查询中使用CASE,并指定每个configuration文件testing是什么,但这似乎并不高效,它也超出了我的sql知识的极限。 这是我迄今为止的查询。

 SELECT User.Sample.Sample_Number,User.Centre.Centre_Code, User.Sample.DateEntered, User.Assay.AssayName FROM User.Sample INNER JOIN User.Centre ON User.Sample.Centre_ID = User.Centre.Centre_Id INNER JOIN User.Profile ON User.Sample.Profile_ID = User.Profile.Profile_ID INNER JOIN User.Batch ON User.Sample.Batch_ID = User.Batch.Batch_ID INNER JOIN User.SampleResult ON User.Sample.Sample_ID = User.SampleResult.Sample_ID INNER JOIN User.Assay INNER JOIN User.Result ON User.Assay.Assay_ID = User.Result.Assay_ID ON User.SampleResult.Assay_ID = User.Assay.Assay_ID AND User.SampleResult.Result_ID = User.Result.Result_ID INNER JOIN User.Test ON User.Profile.Profile_ID = User.Test.Profile_ID AND User.Assay.Assay_ID = User.Test.Assay_ID WHERE (User.Sample.DateEntered > CONVERT(DATETIME, '2010-09-01 23:59:59', 102)) AND (User.Sample.DateEntered < CONVERT(DATETIME, '2010-09-20 00:00:00', 102)) GROUP BY User.Sample.DateEntered, User.SampleResult.Sample_ID, User.Assay.AssayName, User.Centre.Centre_Code, User.Sample.Sample_ID, User.Sample.Sample_Number 

以供参考

configuration文件1 =testing1,testing2,testing3,testing4,testing5

档案2 =testing1,testing2,testing3

分布3 =testing1,testing2,testing3,testing4,testing5,testing6,testing7

configuration文件中的每个testing将具有相同的样本编号,中心代码和input的date。

有什么我可以做的SQL查询甚至在Excel中操作它,一旦我已经运行查询?

如何在另一个数据库表中设置configuration文件和testing之间的关系并join该表? 这样,你可以在configuration文件名称上select/分组,而不是testing名称

你的GROUP BY子句中有太多的字段。 从您的GROUP BY子句中删除User.Assay.AssayName。 这应该让你更接近你要找的东西。 您可能还想从GROUP BY子句中删除其他字段。 我希望这有帮助。