動的アプリケーションを構築しています。私は3つのテーブルを持っています:(EAVモデルスタイル)
- アイテム (アイテム ID、アイテム名)
- フィールド (FieldId、FieldName)
- フィールド値 (ItemID、FieldId、Value)
FieldId=4 が TRUE に等しいすべてのアイテムから 20 レコードを取得するための SINGLE クエリの書き方を教えてください。
期待される結果 :
Columns => ItemID | Name | Field1 | Field2 | Field3
Each Row=> ItemId | ItemName| Value1 | Value2 | Value3
重要な懸念事項:
- アイテムごとのフィールド数は不明
- 1 つのクエリを作成するために 1 つ必要です。
- クエリは 100K レコードに対して実行されるため、パフォーマンスが懸念されます。
- MySQL 5.0 を使用しているため、MYSQL のソリューションが必要です
上記のクエリがまったく不可能な場合、テーブルを非正規化する必要がありますか? 何かアドバイス ?