我有一个数据库,其中article
表与自身具有多对多关系(通过article_rel
)并articles
具有types
. 父母有一个类型 1234,而孩子可以是几种类型之一。
我正在努力寻找以下父母: 没有孩子;或者,如果他们有孩子,则最近的子文章不是特定类型的集合。
以下内容适用于第二部分,但不涉及第一部分。我为拉出子查询以引用它返回的值(添加“或为空”)所做的每一次尝试都失败了。我也想知道是否有更好的方法来写这样的东西。
SELECT
CONCAT('http://www.sitename.com/', n.id, '.html') as URL,
n.added,
u.email,
n.body
#c.body
FROM
warehouse.article n
inner join site.user u on n.user_id = u.id
inner join warehouse.article_param np on np.id = n.id and np.param_name = 'ready' and np.param_value = 'true'
where
n.type_id = 1234
and
(select
c.type_id
from
warehouse.article c,
warehouse.article_rel r
where
r.child_nid = c.id
and r.parent_nid = n.id
order by
c.added desc
limit 1)
not in (2245,5443)
order by
n.updated desc