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 不为空时,我想获取该类别下的字段。对于我上面的示例结果应该是:
FieldId FieldName FieldValue Category
1 Field1 Value1 1
2 Field2 NULL 1
5 Field5 Value2 3
6 Field6 Value3 3
正如您在 category1 下看到的,field2 具有空值,但仍显示。在类别 2 下,field3 和 field4 都具有空值,因此不应选择它。
有人可以帮我解决上述问题的 sql 查询吗?我认为的一种方法是使用 groupby 类别并查看 count(FieldValue)>0 ,其中 fieldvalue 不为空。但我被卡住了如何将这个逻辑带入sql?
提前致谢。