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でわかるように、field2にはnull値がありますが、それでも表示されます。カテゴリ2では、field3とfield4の両方にnull値があるため、選択しないでください。
誰かが上記の問題のSQLクエリを手伝ってくれますか?私が考えた1つの方法は、groupbyカテゴリを使用して、fieldvalueがnullではないcount(FieldValue)>0を確認することです。しかし、私はこのロジックをSQLに取り込む方法で立ち往生していますか?
前もって感謝します。