Table1
CatId Name
1 Category1
2 Category2
3 Category3
Table2
FieldId FieldName FieldValue Category
1 Field1 Value1 1
2 Field2 NULL 1
3 Field3 NULL 2
4 Field4 NULL 2
5 Field5 Value2 3
6 Field6 Value3 3
我有一个如上所示的表结构。当任何Fieldvalue在该类别下不为null时,我想要在类别下提取字段。对于我上面的例子的结果应该是:选择查询以在其类别(组)下至少有一个非空值时选择行
FieldId FieldName FieldValue Category
1 Field1 Value1 1
2 Field2 NULL 1
5 Field5 Value2 3
6 Field6 Value3 3
正如你可以看到在类别1场2具有空值,但它仍然显示。在类别2下,field3和field4都有空值,所以不应该被选中。
有人可以帮我用sql查询上述问题吗?我认为的一种方法是使用groupby类别并查看count(FieldValue)> 0,其中fieldvalue不为null。但我坚持如何将这个逻辑到SQL?
在此先感谢。
我不认为你需要在子查询中的distinct关键字。 – sventevit