【发布时间】:2017-12-13 17:54:22
【问题描述】:
我有 3 张桌子
对象
ID || NAME
====================
1 || object title
--------------------
2 || name of object
etc..
道具
ID || NAME
===========
1 || draft
-----------
2 || views
etc..
obj_props
ID || OID || PID || VALUE
=========================
1 || 1 || 1 || 1
-------------------------
1 || 1 || 2 || 70
etc..
我需要选择 draft = 1 且 views > 0 的记录。
我当前的mysql查询:
SELECT o.id, p.name as prop_name, op.value as prop_val
FROM objects o
INNER JOIN obj_props op ON o.id = op.object_id
INNER JOIN props p ON p.id = op.prop_id
WHERE p.name = 'views' and op.value > 0
但是当我添加了
AND p.name = 'draft' and op.value = 1
它返回空值。
如果用 OR 替换 AND 运算符 - 代码返回所有记录,但我需要单个对象的搜索道具。
【问题讨论】: