我有一個DB,其中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