我有一个搜索关键字,我正在使用两个表搜索该关键字。用于搜索关键字的Mysql查询
搜索关键词的 '病人'
表 - default_pages
id type_id parent_id status
68 16 0 draft
70 17 68 live
227 17 44 live
262 1 31 live
表 - default_search
id title entry_id
1 patient status 70
2 patient check 227
3 patient health 262
我的查询是
"SELECT
s.title, p.id, p.type_id AS sqem
FROM default_search s LEFT JOIN default_pages p ON p.id=s.entry_id
WHERE s.title LIKE '%Patient%'
HAVING sqem IS NOT NULL"
上述查询重写在默认页面的ID为70,227,262的情况下会变成3个结果,但是问题在于ID 70,它的父ID是68,ID 68的状态是草稿,所以我想从结果集中排除这一行,是我卡住的地方。
任何帮助,高度赞赏。提前致谢。
它返回相同的3行。但我不希望70被列入结果,因为它的父母已经获得'草稿'状态。 – Raj 2014-12-01 22:45:00
我想你应该看看这个:http://stackoverflow.com/a/1446831/3067928并根据这个修改你的查询。你为什么不创建sqlfiddle。所以,其他人也可以尝试一下。 – 2014-12-01 22:49:27