エンティティ属性値モデルを使用してオブジェクトを格納するデータベースを検索しようとしています。以下のクエリの何が問題なのか誰か教えてもらえますか?
SELECT * FROM object a
INNER JOIN object_meta b
ON a.id = b.object
WHERE
a.name LIKE '%michael%' AND
b.name='type' AND b.value='judge'
AND (
(b.name='country' AND b.value='France')
OR
(b.name='country' AND b.value='Sweden')
)
ORDER BY a.name DESC
LIMIT 0, 50;
この場合、名前に「マイケル」が含まれ、タイプが裁判官であり、スウェーデンまたはフランスから来たオブジェクトを選択したいと考えています。データベースを参照すると、クエリに一致するオブジェクトが存在することがわかりますが、クエリを実行しても何も表示されません。コマンド ライン経由でクエリを実行しているため、アプリケーション コードとは関係ありません。
テーブル構造
object
+----+------------+
| id | name |
+----+------------+
| 1 | Michael... |
| 2 | Michael... |
+----+------------+
object_meta
+--------+---------+-----------+
| object | name | value |
+--------+---------+-----------+
| 1 | type | judge |
| 2 | type | judge |
+--------+---------------------+